for … else

Proprio come i cicli while, i cicli for possono avere blocchi else che vengono eseguiti quando il ciclo for si completa senza incontrare un'istruzione break. La sintassi di for…else è molto simile a quella di while…else.
Consideriamo questo programma che verifica se il numero dato è primo o no. Un numero è primo se è maggiore di 1 e non può essere diviso per nessun numero diverso da 1 e da se stesso.
# Programma per verificare se un numero è primo o no
num = int(input('Enter a number: '))
for i in range(2, num):
    if num % i == 0:
        print(f'{num} is not a prime number')
        break
else:
    print(f'{num} is a prime number')
Il programma controllerà ogni numero nell'intervallo [2, num) per vedere se è un fattore di num. Se ne trova uno, stamperà {num} is not a prime number ed uscirà dal ciclo. Poiché è stata eseguita un'istruzione break, il codice nel blocco else non verrà eseguito. Tuttavia, se nessun numero nell'intervallo è un fattore di num, il codice nell'istruzione else verrà eseguito e il programma stamperà {num} is a prime number.

Sfida

La prima riga dell'input contiene n, seguita da n righe di numeri interi. Il tuo compito è stampare The first even number in the list is {num} oppure There is no even number in the list se nessuno dei numeri di input è pari. Prova a usare un ciclo for con un blocco else per risolvere questa sfida!
Input
Output
5 -1 3 4 -3 6
The first even number in the list is 4
4 1 3 -7 17
There is no even number in the list

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue