2013-09-06 1 views
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) 

미리 도움을 주셔서 감사합니다. 내가하려고하는 것은이 함수가 반환되도록하는 것입니다.콥 카이 (Codeacademy) 렌트카

  1. 40 일 하루 2 회 이상 렌트 한 차량의 비용입니다.
  2. 자동차의 선정 그러나

50 할인하여 7 일 이상 대여 20

  • 의 할인과 3 7 일 사이에 임대되는 차량의 차량 선정 , 내가 1,350 대신에 35 동안 넣었을 때, 나는 아무것도 얻지 않는다. 그리고 내가 5 일 동안을 넣을 때 나는 아무 것도 얻지 못합니다. 아이디어?

  • 답변

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

    마지막 일 ... 나는 7 일 동안 260 점을 얻는다. 그러나 230 점이어야한다. 내가 마지막 if 서술문에서 작동하도록 바꾸려면 어떻게해야 할까? –

    +0

    $ 50 할인은 7 일 이상 *보다 * 많았으므로 7 일 동안의 가격이 ((7 * 40) - 20) = 260이 아니어야합니까? 어쨌든, 당신이 그것을 변경하고 싶다면, 내 업데이트 된 코드를보십시오. '<= 7' (7 이하)을'<7' (7 이하)로 변경할 수 있습니다. – Blorgbeard

    +0

    나는 그것을 아침에 분석해야 할 것입니다. –

    2

    당신은 if days >= 3 and days <=7에 문 경우 두 번째 변경하고 싶습니다. 지금 당장 가지고있는 것은 "본질적으로 3 일 이하이고 7 일 이상입니다."

    +0

    "3 일 이하, ** 및 ** 7 일 이상". – Blorgbeard

    +0

    10과 5를 사용할 때 나는 여전히 "none"을 얻습니다. 어떤 아이디어라도 도움을 주셔서 감사합니다. –

    +0

    @RobB 방금 테스트 한 결과 변경된 스크립트로 올바른 답변을 얻을 수 있습니다. 질문을 편집하고 코드를 지금 추가 할 수 있습니까? – Blorgbeard

    관련 문제