16. Judici `` Break ''¶
El judici `` break`` dins d’un `` `` salta del bucle per continuar la següent instrucció després del bucle.
Aquest judici "trenca" l'execució del `` per 'i la finalitza immediatament.
A l'exemple següent, un comptable del número 1 al número 9 de les pauses del número 5
for num in range(1, 10):
print(num)
if num == 5:
break
print('Final')
La sortida de la pantalla serà la següent
1
2
3
4
5
Final
En aquest altre exemple, un programa busca el primer número que és un múltiple de 5 i múltiples de 7 entre els primers 100 números. El programa deixa de cercar quan troba el primer número que compleix la condició
for num in range(1, 101):
if (num % 5 == 0) and (num % 7 == 0):
break
print(num)
La sortida de la pantalla serà la següent
35
Als bucles `` per '' el judici també es pot utilitzar `` altres ''. El bloc de codi dins del `` ele '' rul
Exemple
for num in range(1, 100):
if (num % 5 == 0) and (num % 7 == 0):
print(num, 'es divisible por 5 y por 7')
break
else:
print('No encontrado ningún número divisible por 5 y por 7')
L’exemple donarà lloc al número 35, però reduïm l’interval a `` rang (1, 30) `` El resultat ens dirà que no ha trobat cap nombre divisible per 5 i 7.
Exercicis¶
Escriviu un programa que imprimeixi un compte de 10 a 1. El programa ha de ser arrestat quan arribi al número 5.
Pista
for num in range(10, 0, -1): ... ... ...
Escriviu un programa que demani una contrasenya un màxim de 4 vegades. Si la contrasenya és correcta, han d'escriure "accés autoritzat" i acabar. Si la contrasenya no té raó 4 vegades, heu d'escriure "Accés no autoritzat".
La validesa de la contrasenya i l’accés s’ha d’escriure en una variable que es comprovarà al final del bucle.
Pista
password = '1234' for intento in range(4): entrada = input('Introduce la contraseña: ') ... ... else: print('Acceso no permitido')
Modifiqueu el següent programa per escriure una frase a la pantalla fins arribar a la lletra número 30, en la qual heu de deixar d’escriure gràcies a una frase de descans.
Utilitzeu una lletra per saber quan ha d’acabar el bucle.
Pista
frase = 'En un lugar de la Mancha, de cuyo nombre no quiero acordarme' contador = 0 for letra in frase: print(letra, end='') ... ... ...
Escriviu un programa que afegeixi tots els números sencers d’1 a 100 i s’aturi quan la suma és superior a 1000. El programa ha d’indicar a quin nombre s’ha afegit i quin és el resultat de la suma.
Pista
suma = 0 maximo = 1000 for num in range(1, 101): suma = suma + num ... ... ...
Escriviu un programa que busqui si un número té divisors entre el 2 i el número menys un. En cas de tenir un divisor, escriu a la pantalla que no és un número principal. En cas contrari, escriu que és un número principal.
Pista
num = input('Escribe un número: ') num = int(num) for divisor in range(2, num): if num % divisor == 0: ... ... else: print(...)