Arbeit mit Flags in Python
Flag - ist eine spezielle Variable,
die nur zwei Werte annehmen kann:
True oder False. Mit
Hilfe von Flags kann man Aufgaben lösen, die
die Abwesenheit von etwas prüfen: man kann
beispielsweise prüfen, dass in einer Liste kein Element mit
einem bestimmten Wert vorhanden ist.
Lassen Sie uns die folgende Aufgabe lösen: gegeben ist eine Liste
mit Zahlen, es muss geprüft werden, ob alle Elemente
darin positiv sind. Dazu
setzen wir eine spezielle Variable flag,
die vor Beginn der Schleife wahr ist. Und
sobald eine negative Zahl in der Schleife auftritt,
ändern wir ihren Wert auf False. Um
das Ergebnis der Prüfung zu erfahren,
geben wir die Variable flag nach der Schleife
in der Konsole aus:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # gibt True aus, da alle Zahlen positiv sind
Gute Praxis ist es, der
Variable mit dem Flag einen Namen zu geben, der die
gestellte Bedingung widerspiegelt. Lassen Sie uns flag
in isAllPositive umbenennen. Und zur Veranschaulichung
ändern wir eine Zahl in der Liste auf eine negative:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # gibt False aus, da eine negative Zahl vorhanden ist
Wenn in der durchsuchten Liste viele Werte sind
und die Schleife nach der Entdeckung der
ersten negativen Zahl gestoppt werden soll,
dann sollte man die Anweisung break verwenden:
for el in lst:
if el < 0:
isAllPositive = False
break
Bei der Arbeit mit Flags, um das Ergebnis
der Schleifenausführung zu erfahren, kann man nicht den Wert
des Flags ausgeben, sondern eine beliebige Nachricht mit Hilfe
eines zusätzlichen if.
Lassen Sie uns das vorherige Beispiel umschreiben. Wenn
alle Elemente positiv sind, dann soll
'+++' ausgegeben werden, wenn nicht -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # gibt '---' aus
Gegeben ist eine Liste. Prüfen Sie, ob alle ihre Elemente positive Zahlen sind.
Gegeben ist eine ganze Zahl. Prüfen Sie, ob es sich um eine Primzahl handelt, das heißt, ob sie nur durch eins und sich selbst teilbar ist.