Seite 1 von 1
If Abfragen und boolesche Verknüpfungen AND, OR, NOT ?
Verfasst: Donnerstag 29. Juni 2017, 09:21
von pstein
Sorry für die Anfägerfrage, aber wie kann man etwas komplexere IF Abfragen mit AND, OR, NOT komponieren?
Angenommen ich will folgende IF Abfrage haben:
IF (var1==12 OR string2=="karl") AND ((var3==333) and NOT (string4=="peter")) .......
Wie kann ich so etwas in Python formulieren?
Danke
Peter
Re: If Abfragen und boolesche Verknüpfungen AND, OR, NOT ?
Verfasst: Donnerstag 29. Juni 2017, 09:32
von __deets__
Mal abgesehen von der großschreibung genau so? Hast du mal in die Dokumentation geschaut?
Re: If Abfragen und boolesche Verknüpfungen AND, OR, NOT ?
Verfasst: Donnerstag 29. Juni 2017, 09:41
von BlackJack
@pstein: *Fast* genau so. Du musst jetzt nur noch in der Dokumentation nachlesen wie die boole'schen Operatoren in Python ausgedrückt werden. Das Tutorial in der Python-Dokumentation durchzuarbeiten wäre wahrscheinlich auch eine sinnvolle Option.
Edit: ``NOT (string4=="peter")`` würde man aber eher als ``string4 != 'peter'`` ausdrücken.
Re: If Abfragen und boolesche Verknüpfungen AND, OR, NOT ?
Verfasst: Donnerstag 29. Juni 2017, 18:54
von Cytzix
pstein hat geschrieben:
Wie kann ich so etwas in Python formulieren?
var1 = 15
str2 = "karl"
var3 = 333
str4 = "Heinz"
if var1 == 12 or str2 == "karl" and var3 == 333 and str4 is not "peter":
print("yes")
#hier bitte einrücken
else:
print("noooo")
#hier bitte einrücken
Re: If Abfragen und boolesche Verknüpfungen AND, OR, NOT ?
Verfasst: Donnerstag 29. Juni 2017, 19:01
von Sirius3
@Cytzix: Klammern sind nicht nur Deko, sondern haben eine wichtige Funktion. »is not« ist der falsche Vergleich, denn dabei wird nur geprüft, dass die beiden Operanden nicht exakt das selbe Objekt sind, was man bei Strings normalerweise nicht wissen will.
Code: Alles auswählen
>>> str4 = "Peter"
>>> str4 is not "Peter"
False
>>> str4 = "Pet"
>>> str4 += "er"
>>> str4
'Peter'
>>> str4 is not "Peter"
True
Re: If Abfragen und boolesche Verknüpfungen AND, OR, NOT ?
Verfasst: Donnerstag 29. Juni 2017, 19:20
von Cytzix
@Sirius: Tatsache! Thx. Habe ich auch was gelernt.
Re: If Abfragen und boolesche Verknüpfungen AND, OR, NOT ?
Verfasst: Donnerstag 29. Juni 2017, 21:16
von Alfons Mittelmeyer
Cytzix hat geschrieben:@Sirius: Tatsache! Thx. Habe ich auch was gelernt.
@Cytzix: es heißt richtig:
str4 != 'Peter'