2016-09-29 2 views
1

Я хотел бы знать, есть ли более простой способ написать условие оператора if. Что-то вроде item1, item2 == "wood":. Сейчас у меня этот код:Как я могу упростить мое условие if в python?

item1 = input("item1: ") 
item2 = input("item2: ") 

if item1 == "wood" and item2 == "wood": 
    print("You created a stick") 
+0

Есть другие способы написать, да. Являются ли эти способы более простыми, это в глазах смотрящего. Для двух предметов я оставил бы это как есть: это ясно и лаконично. – Evert

ответ

6

Это не огромная экономия, но вы могли бы вывезти "wood" and

item1 = input("item1: ") 
item2 = input("item2: ") 

if item1 == item2 == "wood": 
    print("You created a stick") 
1

В данном конкретном случае, это хорошо, чтобы оставить его как есть. Но если у вас есть три или более элемента, попробуйте использовать список:

items = [] # Declare a list 

# Add items to list 
for x in range(1, 4): 
    items.append(input("item" + str(x) + ": ")) 

if all(item == "wood" for item in items): 
    print("You created a stick") 
+1

... хотя ваш пример идет только от 1 до 2. –

+0

@TimPietzcker Так делает OP. ;) Просто шучу, это было непреднамеренно. –

0

У вас есть два пути. вы можете использовать «==» для двух переменных.

item1 = input("item1: ") 
item2 = input("item2: ") 

if item1 == item2 == "wood": 
    print("You created a stick") 

А также вы можете использовать цикл for. Но для этого вам нужно сначала использовать список. Поэтому это поможет, если вы используете огромное количество входов.

list1=[] 
item1 = (input("item1: ")) 
item2 = (input("item1: ")) 

list1.append(item1) 
list1.append(item2) 

if all(item=="wood" for item in list1): 
    print("You created a stick")