2017-06-29 78 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方法甚至不需要任何参数。你要求输入时创建变量,因此它看起来像冗余的参数。