Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-TypeError:不支持+;的操作数类型:';int';和';dict';_Python - Fatal编程技术网

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}[城市]