Python-TypeError:不支持+;的操作数类型:';int';和';dict';
我希望字典中指定给字符串的数字可以很容易地用作总和中的整数:Python-TypeError:不支持+;的操作数类型:';int';和';dict';,python,Python,我希望字典中指定给字符串的数字可以很容易地用作总和中的整数: def hotel(days): return days*50 def plane_ticket(city): city = {"Chicago": 180, "Boston": 170, "Orlando": 160,"Ciudad de Mexico" :100} return city def car(days): rent=days*10 if days >= 7: return
def hotel(days):
return days*50
def plane_ticket(city):
city = {"Chicago": 180, "Boston": 170, "Orlando": 160,"Ciudad de Mexico" :100}
return city
def car(days):
rent=days*10
if days >= 7:
return rent -5
elif days >= 5:
return rent -1
else:
return rent
def trip_cost(city, days, extras):
return sum([hotel(days),plane_ticket(city),car(days),extras])
print (trip_cost("Chicago",4,300))
很简单:
def hotel(days):
return days*50
def plane_ticket(city):
city = {"Chicago": 180, "Boston": 170, "Orlando": 160,"Ciudad de Mexico" :100}
return city
def car(days):
rent=days*10
if days >= 7:
return rent -5
elif days >= 5:
return rent -1
else:
return rent
def trip_cost(city, days, extras):
return sum([hotel(days),plane_ticket(city),car(days),extras])
print (trip_cost("Chicago",4,300))
出现此问题是因为您的
plane\u ticket
函数没有返回您认为的值
def plane_ticket(city):
cities = {"Chicago": 180, "Boston": 170, "Orlando": 160,"Ciudad de Mexico" :100}
return cities[city]
此函数将返回整个字典城市
,而不是单个值
您需要这样做:
def plane_ticket(city):
city = {"Chicago": 180, "Boston": 170, "Orlando": 160,"Ciudad de Mexico" :100}
return city
不过,您可能希望添加一些错误检查。如果函数被传递给一个字典中不存在的城市,您将得到一个错误
进行上述更改后,打印出值
720
您有此问题,因为您的飞机票
功能没有返回您认为的值
def plane_ticket(city):
cities = {"Chicago": 180, "Boston": 170, "Orlando": 160,"Ciudad de Mexico" :100}
return cities[city]
此函数将返回整个字典城市
,而不是单个值
您需要这样做:
def plane_ticket(city):
city = {"Chicago": 180, "Boston": 170, "Orlando": 160,"Ciudad de Mexico" :100}
return city
不过,您可能希望添加一些错误检查。如果函数被传递给一个字典中不存在的城市,您将得到一个错误
进行上述更改时,打印出值
720
plane\u ticket(city)
忽略了给定的city
的值,而是创建一个字典并用return
返回该值。我想你是想用另一个名字在字典中查找城市的词条,然后返回该值也许你的意思是:def plane\u ticket(city):return{“Chicago”:180,“Boston”:170,“oralando”:160,“Ciudad de Mexico”:100}[city]
plane\u ticket(city)
忽略给定的city
值,而是创建一个字典,并使用return
返回该字典。我想你是想用另一个名字在字典中查找city
的条目,然后返回该值也许你的意思是:def plane\u ticket(city):return{“芝加哥”:180,“波士顿”:170,“奥兰多”:160,“墨西哥城”:100}[城市]