2017-06-29 77 views
0
def trip_cost(city,days,spending_money): 

    days = input("Enter amount of days for car hire") 

    city = input("City name") 

    days = input("Nights staying") 

    spending_money = input("Spending money") 

    return hotel_cost(days) + plane_ride_cost(city) + rental_car_cost(days) + spending_money 

print((trip_cost(city,days,spending_money))) 

我不斷收到一個錯誤,說城市沒有定義。我對Python很陌生,所以我很抱歉,如果這是一個很容易回答的問題。所有的變量已經有了它們的設置功能。這裏是城市的一個以防萬一它有助於Python 3.6(名稱錯誤)

高清plane_ride_cost(城市):

if city=="Charlotte": 

    return 183 

elif city=="Tampa": 

    return 220 

elif city=="Pittsburgh": 

    return 222 

elif city=="Los Angeles": 

    return 475 

else: 

    return input("Please try again") 

而且這是從代碼學院

+1

準確的錯誤在哪裏? – Carcigenicate

+1

另請注意,您需要將輸入給您的字符串轉換爲數字,然後才能添加它們。 – Carcigenicate

回答

1

改變代碼在你print((trip_cost(city,days,spending_money)))呼叫,其中城市來的呢?它看起來像是在任何功能之外,所以你需要將它聲明爲某個地方。即使你這樣做,你也會得到相同的錯誤daysspending_money。這些需要在打印之前進行聲明。

要麼或值實際上傳遞給你的trip_cost呼叫print語句:)

此外,在代碼更加緊密地看,它看起來像你的trip_cost方法甚至不需要任何參數。你要求輸入時創建變量,因此它看起來像冗餘的參數。