for … else

Tout comme les boucles while, les boucles for peuvent avoir des blocs else qui sont exécutés lorsque la boucle for se termine sans rencontrer d'instruction break. La syntaxe de for…else est très similaire à celle de while…else.
Considérons ce programme qui vérifie si le nombre donné est premier ou non. Un nombre est premier s'il est supérieur à 1 et ne peut être divisé par aucun nombre autre que 1 et lui-même.
# Program to check if a number is prime or not
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')
Le programme va vérifier chaque nombre dans la plage [2, num) pour voir s'il est un facteur de num. S'il rencontre un tel nombre, il affichera {num} is not a prime number et sortira de la boucle. Puisqu'une instruction break a été exécutée, le code dans le bloc else ne sera pas exécuté. Cependant, si aucun nombre dans la plage n'est un facteur de num, le code dans le bloc else sera exécuté, et le programme affichera {num} is a prime number.

Défi

La première ligne de l'entrée contient n, suivie de n lignes de nombres entiers. Votre tâche est d'afficher The first even number in the list is {num} ou There is no even number in the list s'il n'y a aucun nombre pair dans la liste. Essayez d'utiliser une boucle for avec un bloc else pour résoudre ce défi !
Entrée
Sortie
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