If-Anweisung für mehrere Werte
-
21-12-2019 - |
Frage
Hier ist mein Ziel in einem Beispiel.Wenn Sie mir beim Vervollständigen helfen könnten, wäre das großartig!
exampleNumbers = [One,Uno,Two,Dos]
randomNumber = random.choice(exampleNumbers)
Von hier an möchte ich, dass es sich dann ändert randomNumber
auf 1, wenn die zufällige Auswahl von exampleNumbers
Ist Eins oder Uno oder ändern randomNumber
bis 2, wenn die zufällige Auswahl von exampleNumbers
Ist Zwei oder DOS.
Ich denke, dass ich es mit einer if-Anweisung machen kann, bin mir jedoch nicht sicher, wie ich eine if-Anweisung mit mehreren Werten verwenden soll.
Also grundsätzlich, wenn die Auswahl zufällig ist Zwei Zum Beispiel möchte ich es dann machen randomNumber
= 2.
Tut mir leid, wenn ich das nicht sehr gut erklärt habe. Ich komme langsam voran, aber mein Wissen und meine Terminologie sind immer noch im Amateurstadium.Ich werde gerne alle guten Antworten ankreuzen und abstimmen!
Dank im Voraus!:) :)
Lösung
Sie können den Operator verwenden in
:
if randomNumber in (One,Uno):
randomNumber = 1
else:
randomNumber = 2
Oder der Klassiker or
Boolescher Operator:
if randomNumber == One or randomNumber == Uno:
randomNumber = 1
else:
randomNumber = 2
Der in
ist großartig, um viele Werte zu überprüfen.
Der or
, mit den anderen booleschen Operatoren and
Und not
kann zum Aufbau beliebig komplexer logischer Ausdrücke verwendet werden.
Andere Tipps
Sie können verwenden and
Und or
zu zusammengesetzten Aussagen.und für mehrere Anweisungen können Sie auch Klammern verwenden (z. B.: (True and False) or (False or True)
).Es gibt eine Reihenfolge der Operationen, die grundsätzlich von links nach rechts verläuft.Für Ihre Frage können Sie also etwas tun
if(num == "two" or num == "dos"):
//do things
elif (num == "one" or num == "uno"):
//do other things
Sie können auch Optionen definieren:
options = { One : thisIsOne,
Uno : thisIsOne,
Two : thisIsTwo,
Dos : thisIsTwo,
}
def thisIsOne()
randomNumber = 1
def thisIsTwo()
randomNumber = 2
Dann können Sie einfach anrufen options[randomNumber]()
Ich bin mit meiner Python etwas eingerostet, aber ich bin mir ziemlich sicher, dass das funktioniert (aber auch die vorherige Antwort von Rodrigo!Frage der Präferenz und Wiederverwendbarkeit)