Ver índice de contenidos del libro

5.3. Ciclo con centinela

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.