0
以下是計算用戶假期成本的三個函數。鼓勵用戶輸入他的假期細節,然後將其作爲參數傳遞給函數。爲什麼我不能在Python中將這個int類型變量作爲參數傳遞?
def hotel_cost(days):
days = 140*days
return days
"""This function returns the cost of the hotel. It takes a user inputed argument, multiples it by 140 and returns it as the total cost of the hotel"""
def plane_ride_cost(city):
if city=="Charlotte":
return 183
elif city =="Tampa":
return 220
elif city== "Pittsburgh":
return 222
elif city=="Los Angeles":
return 475
"""this function returns the cost of a plane ticket to the users selected city"""
def rental_car_cost(days):
rental_car_cost=40*days
if days >=7:
rental_car_cost -= 50
elif days >=3:
rental_car_cost -= 20
return rental_car_cost
"""this function calculates car rental cost"""
user_days=raw_input("how many days would you be staying in the hotel?") """user to enter a city from one of the above choices"""
user_city=raw_input("what city would you be visiting?") """user to enter number of days intended for holiday"""
print hotel_cost(user_days)
print plane_ride_cost(user_city)
print rental_car_cost(user_days)
我注意到,當我打印上述功能時,只有plane_ride_cost(user_city)正確運行。另外兩個功能吐出了亂碼。爲什麼是這樣?
'raw_input'返回一個字符串,而不是一個int –
因爲你沒有任何「int型變量」。你只有字符串。 –
相關 - http://stackoverflow.com/questions/3536996/multiplying-a-string-with-a-number-in-python –