سؤال

هنا هو هدفي في مثال.إذا كنت يمكن أن تساعد لي إكماله من شأنها أن تكون كبيرة!

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]()

أنا قليلا صدئ مع الثعبان ولكن أنا متأكد من أن يعمل (ولكن هل الإجابة السابقة من قبل رودريغو!مسألة تفضيل و إعادة الاستخدام)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top