Un problema que tiene nuestra primera solución es que resulta poco
amigable preguntarle al usuario después de cada cálculo si desea
continuar. Se puede usar el método del centinela: un valor
distinguido que, si se lee, le indica al programa que el usuario desea
salir del ciclo. En este caso, podemos suponer que si ingresa el
caracter asterisco (*
) es una indicación de que desea terminar.
El esquema del ciclo con centinela es el siguiente:
- Pedir datos.
- Mientras el dato pedido no coincida con el centinela:
- Realizar cálculos.
- Pedir datos.
En nuestro caso, pedir datos corresponde a lo siguiente:
- Pedir número.
El programa resultante es el siguiente:
def pcn_loop2():
x=input("Ingrese un numero ('*' para terminar): ")
while x <>"*":
if x > 0:
print "Numero positivo"
elif x == 0:
print "Igual a 0"
else:
print "Numero negativo"
x=input("Ingrese un numero ('*' para terminar): ")
Y ahora lo ejecutamos:
>>> pcn_loop2()
Ingrese un numero ('*' para terminar): 25
Numero positivo
Ingrese un numero ('*' para terminar): 0
Igual a 0
Ingrese un numero ('*' para terminar): -5
Numero negativo
Ingrese un numero ('*' para terminar): '*'
>>>
Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola,
Maximiliano Curia, Marcos Medrano, Nicolás Paez.
La copia y redistribución de esta página se permite bajo los términos
de la licencia Creative Commons Atribución - Compartir Obras Derivadas
Igual 3.0 siempre que se conserve esta nota de copyright.