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

  1. 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):
       ...
       ...
       ...
    
  2. 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')
    
  3. 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='')
        ...
        ...
        ...
    
  4. 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
        ...
        ...
        ...
    
  5. 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(...)