2016-03-27 8 views
0

Python'a yeni katılıyorum, bu yüzden çok sert bir şekilde yargılama. Bunu birkaç saatliğine araştırdım ama ben de istemedim. neler oluyorBasic if deyimi düzgün çalışmıyorsa

results = {} 
counter = 1 
pastabake = "Pastabake recipie:" 
pittapizzas = "Pitta Pizzas recipie:" 

while True: 
    response = input("Which ingredients do you have?"); 
    results[counter] = response 
    counter += 1 
    if counter == 6: 
     break 
    if response == ('pasta' and 'onion' and 'cheese' and 'garlic'): 
     print(pastabake) 

bunu çalıştırmak kez, sadece ben "sarımsak" dir son yanıt olarak yazdığınız bir kez baskılar yerine pastabake yazdırmadan önce herhangi bir sırayla hepsini alma, pastabake almasıdır.

Neyin yanlış olduğunu anlamıyorum. Herhangi bir yardım için teşekkür ederiz, Teşekkürler.

cevap

1
Birden değişkenler karşı test ediyoruz

yanlış, sadece bir liste koydu ve istenen değer listesinde olup olmadığını kontrol edin:

results = {} 
counter = 1 
pastabake = "Pastabake recipie:" 
pittapizzas = "Pitta Pizzas recipie:" 

while True: 
    response = input("Which ingredients do you have?"); 
    results[counter] = response 
    counter += 1 
    if counter == 6: 
     break 
    if response in ['pasta', 'onion', 'cheese', 'garlic']: 
     print(pastabake) 
, sana kullanmanın öneriyorsan çalıştık
+0

Teşekkür eğer yanıt [ 'Makarna', 'soğan', 'peynir', 'sarmısak']: ama şimdi aynı şeyi yapar, giriş makarna olduğu zaman pastabake basar – MD9