# Ejemplo. Ciclos anidados. Tablas de multiplicar

## Ejemplo. Ciclos anidados. Tablas de multiplicar

## Tablas de multiplicar

Se pedirá al usuario se realizaran las tablas de multiplicar empezando por el número 1.&#x20;

## Análisis:

* Pedir hasta que tabla se va a realizar la tabla de multiplicar (número).
* Realizar la tabla.
* Visualizar el resultado.

### Diagrama

![](https://156834076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M3CsDMenpAVuNy6kou5%2F-M5iCQLb1ZTwRI5RSQxG%2F-M5iCmtjwmVdK4WAbnnI%2FtablaMultiplicar.jpg?alt=media\&token=965d2c62-74a8-47ff-a699-640e34b06309)

## Observa

Recordar que el `for` no realiza el límite. `for` i `in range`(1,numero+1). numero es el valor introducido por el usuario

Es por eso si quiero que realice cada número hasta 10, utilizo`for` j i`n rang`e(1,11):

## Código

```python
#Validar datos
def pedir_datos ():
    valor=-1
    while valor<0:
        try:
            valor=int(input("Dame hasta que número quieres realizar la tabla de continuar===>"))
            if valor<=0:
                print("Os datos deben de ser positivos.")
        except:
            print("Tecleaste un caracter no válido.")
    return valor

print("Tablas de multiplicar")
#Pedir la tabla de multiplicar
numero=pedir_datos ()
#Inicializar la variable que va a contener la tabla
mensaje=""
for i in range(1,numero+1):
    mensaje+="Tablas de multiplicar del número: "+ str(i)+"\n"
    for j in range(1,11):
        resultado=i*j
        mensaje+=str(str(i)+ "\t"+" * " + "\t"+str(j)+ "\t"+ " = "+"\t"+str(resultado))+"\n"
    mensaje+="\n"
print(mensaje)
print("Fin de programa")
```

{% hint style="info" %}
Qué le faltaría para que estuviera completo??
{% endhint %}
