إذا كان البيان متعددة القيم
-
21-12-2019 - |
سؤال
هنا هو هدفي في مثال.إذا كنت يمكن أن تساعد لي إكماله من شأنها أن تكون كبيرة!
exampleNumbers = [One,Uno,Two,Dos]
randomNumber = random.choice(exampleNumbers)
من هنا أريد أن ثم تغيير randomNumber
1 إذا كان اختيار عشوائي exampleNumbers
هو واحد أو أونو أو تغيير randomNumber
2 إذا كان اختيار عشوائي exampleNumbers
هو اثنين أو دوس.
أعتقد أنني يمكن أن تفعل ذلك باستخدام جملة if, ومع ذلك أنا غير متأكد حول كيفية استخدام جملة if مع قيم متعددة.
ذلك أساسا إذا كان اختيار عشوائي هو اثنين على سبيل المثال أريد أن ثم جعل randomNumber
= 2.
آسف إذا أنا لم أوضح هذا بشكل جيد جدا, أنا ببطء للوصول إلى هناك ولكن معرفتي والمصطلحات لا يزال في هاوية الدولة.سوف بسعادة القراد التصويت أي إجابات كبيرة!
شكرا مقدما!:)
المحلول
يمكنك استخدام المشغل in
:
if randomNumber in (One,Uno):
randomNumber = 1
else:
randomNumber = 2
أو الكلاسيكية or
منطقية المشغل:
if randomNumber == One or randomNumber == Uno:
randomNumber = 1
else:
randomNumber = 2
على in
هو رائع أن تحقق الكثير من القيم.
على or
, مع غيرها من العوامل المنطقية and
و not
يمكن استخدامها لبناء تعسفا مجمع التعبيرات المنطقية.
نصائح أخرى
يمكنك استخدام and
و or
إلى مجمع البيانات.و بيانات متعددة يمكنك أيضا استخدام قوسين (أي: (True and False) or (False or True)
).هل هناك وجود أمر من العمليات التي هي في الأساس من اليسار إلى اليمين.لذا عليك سؤال يمكنك القيام به
if(num == "two" or num == "dos"):
//do things
elif (num == "one" or num == "uno"):
//do other things
يمكنك أيضا تحديد خيارات:
options = { One : thisIsOne,
Uno : thisIsOne,
Two : thisIsTwo,
Dos : thisIsTwo,
}
def thisIsOne()
randomNumber = 1
def thisIsTwo()
randomNumber = 2
يمكنك ثم ببساطة الاتصال options[randomNumber]()
أنا قليلا صدئ مع الثعبان ولكن أنا متأكد من أن يعمل (ولكن هل الإجابة السابقة من قبل رودريغو!مسألة تفضيل و إعادة الاستخدام)