为什么这个程序不起作用?它返回"晚餐"对于(12,真)和(7,假),我不明白为什么

时间:2015-02-27 00:32:20

标签: python-2.7

def food(var1, var2):
    var2= bool(var2)
    if var1<6:
        food1 = "no food"
    else:
        if (6<var1<11) and (var2==1):
            food1 = "breakfast,marmalade"
        else:
            food1 = "breakfast,coffee"
            if (12<var1<16) and (var2 == 1):
                food1 = "lunch,dessert"
            else:
                food1 = "lunch"
                if (17<var1<22) and (var2 ==1):
                    food1 = "dinner,dessert"
                else:
                    food1 = "dinner"
                    if (22<var1):
                        food1 = "no food"
    return food1

1 个答案:

答案 0 :(得分:0)

两个输入都落到了最后一个。在第一种情况下你应该有 17&lt; = var1&lt; = 22,在第二个你应该有var2 == True