0
days = int(raw_input("How many days do you want to rent da car for?"))

def rental_car_cost(days):
    if days < 3:
        return days * 40
     elif days >= 3 and days <= 7:
        return ((days * 40)-20)
     elif days > 7:
         return ((days*40) -50)

print rental_car_cost(days)

我试图弄清楚为什么当我使用 7 几天时代码没有给出 230。问题似乎出在第三个 if 语句中。

4

1 回答 1

1

您的第二个 if 语句正在触发,因为您在其中使用了 <= (小于或等于)

elif days >= 3 and days <= 7:

如果您希望最后一个触发将其更改为 <(小于)并将底部的一个更改为 >=(大于或等于)

elif days >= 3 and days < 7:
    return ((days * 40)-20)
 elif days >= 7:
于 2013-09-06T04:23:01.870 回答