Genauso wie while-Schleifen können for-Schleifen einen else-Block haben, der ausgeführt wird, wenn die for-Schleife ohne ein break-Statement abgeschlossen wird. Die Syntax für for…else ist der von while…else sehr ähnlich.
Betrachten wir dieses Programm, das überprüft, ob die angegebene Zahl eine Primzahl ist oder nicht. Eine Zahl ist prim, wenn sie größer als 1 ist und nicht durch eine andere Zahl als 1 und sich selbst teilbar ist.
# Programm zur Überprüfung, ob eine Zahl prim ist oder nicht
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')
Das Programm prüft jede Zahl im Bereich [2, num), um festzustellen, ob sie ein Teiler von num ist. Wenn es eine solche Zahl findet, wird {num} is not a prime number ausgegeben und die Schleife wird verlassen. Da ein break-Statement ausgeführt wurde, wird der Code im else-Block nicht ausgeführt. Wenn jedoch keine Zahl im Bereich ein Teiler von num ist, wird der Code im else-Block ausgeführt und das Programm gibt {num} is a prime number aus.
Herausforderung
Die erste Zeile der Eingabe enthält n, gefolgt von n Zeilen mit ganzen Zahlen. Deine Aufgabe ist es, The first even number in the list is {num} auszugeben oder There is no even number in the list, wenn keine der eingegebenen Zahlen gerade ist. Versuche, eine for-Schleife mit einem else-Block zu verwenden, um diese Aufgabe zu lösen!