2016-03-27 13 views
0

私はPythonの初心者ですので、あまりにも厳しく判断しないでください。私はこれを数時間研究しましたが、私も欲しかったのです。何が起こっている基本if文が正しく動作しない

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) 

は、私はそれを実行したら、それだけで私は「ニンニク」で最後の応答に入力したら、プリントが代わりにpastabakeを印刷する前に、任意の順序でそれらのすべてを取る、pastabakeかかることです。

何が間違っているのか分かりませんか? ありがとうございました。ありがとうございます。

答えて

1

あなただけのリストに入れて所望の値がリストにあるかどうかを確認、間違って複数の変数に対してテストされています

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) 
+0

おかげで、私は[あなたが応答した場合は使用を示唆している試してみました'パスタ'、 'オニオン'、 'チーズ'、 'ニンニク']:それは入力がパスタのときはいつもパスタベークを印刷する以外は同じことをする – MD9

関連する問題