Parte 8 — Repetir una pregunta
Solicitar un valor positivo
python terminal
while True:
monto = int(input("Escribe un monto positivo: "))
if monto > 0:
break
print("El monto debe ser mayor que cero.")
print("Monto aceptado:", monto)Ejecución posible
text terminal
Escribe un monto positivo: -50
El monto debe ser mayor que cero.
Escribe un monto positivo: 0
El monto debe ser mayor que cero.
Escribe un monto positivo: 500
Monto aceptado: 500Limitación actual
Este código puede manejar:
- Números negativos.
- Cero.
- Números positivos.
Pero no puede manejar correctamente:
text terminal
holaPorque:
python terminal
int("hola")produce un ValueError.
Más adelante utilizaremos try y except para controlar ese caso.
Solicitar una moneda válida
python terminal
while True:
moneda = input(
"Moneda, CRC, USD o JPY: "
).strip().upper()
if (
moneda == "CRC"
or moneda == "USD"
or moneda == "JPY"
):
break
print("Moneda no válida.")
print("Moneda seleccionada:", moneda)El programa seguirá preguntando hasta recibir una opción admitida.
Solicitar sí o no
python terminal
while True:
respuesta = input(
"¿La cuenta está activa? "
).strip().lower()
if (
respuesta == "si"
or respuesta == "sí"
or respuesta == "s"
):
cuenta_activa = True
break
if respuesta == "no" or respuesta == "n":
cuenta_activa = False
break
print("Escribe sí o no.")
print("Cuenta activa:", cuenta_activa)