Es posible "salir" de un bucle infinito con break también:
while True:
n = int(input())
print('The input was:', n)
if n == -1:
break
print('End of the program!')
Entrada
Salida
10
20
16
8
0
2
-1
The input was: 10
The input was: 20
The input was: 16
The input was: 8
The input was: 0
The input was: 2
The input was: -1
Tan pronto como el número ingresado es -1, el programa detiene el bucle. Podemos interrumpir el bucle en el momento adecuado para evitar que el programa ejecute algo no deseado para una entrada específica.
Reto
Dada una secuencia de números enteros, nos interesa saber cuántas veces se repite el número más grande en la secuencia.
La secuencia se proporciona como una corriente de números enteros y termina tan pronto como el número ingresado es igual a 0. El resto de la entrada debe ser ignorado.
El programa debe imprimir un solo número entero: el número de veces que el elemento máximo de la secuencia se repite.
Entrada
Salida
5
5
1
1
5
3
0
9
11
4
5
3
Explicación: El número más grande es 5 y aparece 3 veces antes de que la secuencia termine.