Оператор If для нескольких значений
-
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]()
Я немного заржавел в своем python, но я почти уверен, что это работает (как и предыдущий ответ Родриго!вопрос предпочтений и возможности повторного использования)