2016-12-31 142 views
-3
def plane_ride_cost(city): 
    if city== 'Charlotte' : 
     return 183 
    if city== 'Tampa' : 
     return 220 
    if city== 'Pittsburgh' : 
     return 222 
    if city == 'Los Angeles': 
     return 475 
    plane_ride_cost('city') 


# Cost of flying to a city. This code is verified in Jupyter! It works. 


def hotel_cost(nights): 
    return 140*nights 


# Cost of staying in a hotel. This code is verified in Jupyter! It works. 


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

# cost of renting a car. 

def trip_cost(city, days, spending_money): 
    return rental_car_cost(days) + plane_ride_cost('city') + hotel_cost(days) 
#total cost 

它顯示以下錯誤。運行代碼時發現錯誤

trip_cost('Tampa', 0, 0) raised an error: maximum recursion depth exceeded in cmp 

現在我已經在Jupyter中單獨運行每個代碼,它運行良好。但不是一個代碼。

回答

3

你調用它自己內部此功能:

def plane_ride_cost(city): 
    if city== 'Charlotte' : 
    .... 
    plane_ride_cost('city') 

這是一個無限循環。幸運的是,python解釋器在此之前停止並引發遞歸異常。

解決您可能需要刪除該行(什麼是應該做反正?'city'沒有有效city