1
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
     if days >= 3 and days <= 7:
         return ((days * 40)-20)
     elif days > 7:
         return ((days*40) -50)


print rental_car_cost(days)

提前感谢您的帮助。我想要做的是让这个函数返回:

  1. 以每天 40 天的价格租用 2 天或更短时间的汽车的费用。
  2. 租车 3 到 7 天之间的汽车费用,折扣 20。
  3. 租车 7 天以上的费用,折扣 50。

但是,当我将 35 天而不是 1,350 天放入时,我什么也没得到。当我放 5 天时……我没有得到。想法?

4

2 回答 2

2

我想你的意思是:

if days >= 3 and days <= 7:

这里有一个更简洁的写法:

if days <= 2:
    return (days * 40)
elif days <= 7:
    return (days * 40) - 20
else
    return (days * 40) - 50
于 2013-09-06T03:11:11.297 回答
2

您想将第二个 if 语句更改为if days >= 3 and days <=7. 你现在拥有的基本上是“小于等于3天,大于等于7天”。

于 2013-09-06T03:11:54.690 回答