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. 1 日 40 円で 2 日以下のレンタカーを借りる場合の費用。
  2. 車の費用は、20 割引で 3 ~ 7 日間レンタルされる車です。
  3. 50 割引で 7 日以上レンタカーを借りた場合の費用。

ただし、1,350 日ではなく 35 日を入力すると、何も得られません。そして、私が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

2 番目の if ステートメントを に変更しますif days >= 3 and days <=7。あなたが今持っているのは、本質的に「3日以下、7日以上」です。

于 2013-09-06T03:11:54.690 に答える