AnteriorPosterior

4- Condiciones repetitivas

  Curso: Introducción a Python

4 - Condiciones repetitivas

No siempre habrá que comprobar condiciones una única vez. Es muy frecuente que haya que hacerlo de forma repetitiva. Por ejemplo, "pedir una contraseña al usuario hasta que sea la correcta", o aún más cercano al mundo real, "pedir una contraseña al usuario hasta que sea la correcta o agote sus intentos".

Por eso, igual que cualquier lenguaje de programación tiene una orden "si", la gran mayoría de ellos tendrá una orden "mientras", que permite que un fragmento de un programa se repita mientras una cierta condición se siga cumpliendo (por ejemplo, mientras la contraseña que teclee el usuario sea incorrecta, el usuario deberá volver a introducirla).

En Python, usaremos "while" para comprobar condiciones de forma repetitiva. Su sintaxis es muy parecido a la de "if", pero las órdenes se repetirán varias veces, mientras la condición se cumpla:

n = float(input("Dime un número: "))
suma = 0
while n != 0:
    suma = suma + n
    print("La suma hasta ahora es ", end="")
    print(suma)
    n = float(input("Dime otro (0 para terminar): "))

Y su resultado sería

Dime un número: 5
La suma hasta ahora es 5.0
Dime otro (0 para terminar): 4
La suma hasta ahora es 9.0
Dime otro (0 para terminar): 2
La suma hasta ahora es 11.0
Dime otro (0 para terminar): 0

Ejercicios propuestos:

  • 4.1. Crea un programa que pida al usuario que introduzca la suma de 135 y 768. Deberá repetirse hasta que introduzca el resultado correcto.
  • 4.2. Crea un programa que pida al usuario que introduzca un ángulo (en grados) y muestre su seno, su coseno y su tangente. Deberá repetirse hasta que el ángulo introducido sea de cero grados.
  • 4.3. Crea un programa que pida un código de usuario y una contraseña. No se le dejará proseguir hasta que el código sea 1234 y la clave sera 5000.

Casi cualquier lenguaje de programación permitiría también un instrucción llamada "for", que permita recorrer una serie de valores (por ejemplo, del 1 al 10). En Python se usa de la siguiente forma:

for n in range(1,6):
    print(n)

Este programa mostrará los números desde el 1 (incluido) hasta el 5 (porque el 6, que el extremo final no se incluye en el recorrido):

1
2
3
4
5

Ejercicios propuestos:

  • 4.4. Crea un programa que pida al usuario que introduzca su nombre y un número entero, y escriba su nombre en pantalla tantas veces como indique ese número entero.
  • 4.5. Crea un programa que pida al usuario un número entero (por ejemplo, 5) y muestra la tabla de multiplicar de ese número (desde "5x1=5" hasta "5x10=50").
  • 4.6. Crea un programa que pida al usuario un número entero (por ejemplo, 58) y le diga todos los múltiplos de 7 que haya entre el número 1 y ese número (incluido). Todos los números se deben mostrar en la misma línea, separados por un espacio en blanco.
  • 4.7. Crea un programa que pida al usuario una anchura y una altura, y dibuje un rectángulo formado por asteriscos, que tenga ese ancho y ese alto. Por ejemplo, para un ancho de 5 y un alto de 2, mostraría:
*****
*****

También podemos recorrer el rango con un incremento que no sea de una unidad. Por ejemplo, para mostrar los números pares del 10 al 20, podríamos empezar en 10 e incrementar 2 en cada pasada:

for x in range(10,21,2)::
    print(x)

Ejercicios propuestos:

  • 4.8. Crea un programa que escriba los múltiplos del 7 que hay entre 70 y 210, todos ellos en la misma línea separados por un espacio en blanco.
  • 4.9. Crea un programa que escriba los múltiplos del 30 al 15, descendiendo.

Actualizado el: 18-01-2014 01:38

AnteriorPosterior