Python 3.6(名称错误)
问题描述:
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")
而且这是从代码学院
答
改变代码在你print((trip_cost(city,days,spending_money)))
呼叫,其中城市来的呢?它看起来像是在任何功能之外,所以你需要将它声明为某个地方。即使你这样做,你也会得到相同的错误days
和spending_money
。这些需要在打印之前进行声明。
要么或值实际上传递给你的trip_cost
呼叫print语句:)
此外,在代码更加紧密地看,它看起来像你的trip_cost方法甚至不需要任何参数。你要求输入时创建变量,因此它看起来像冗余的参数。
准确的错误在哪里? – Carcigenicate
另请注意,您需要将输入给您的字符串转换为数字,然后才能添加它们。 – Carcigenicate