Python 如何将用户输入添加到词典中
我试图建立一个从天气网站的api图形。我希望用户输入3个我想知道当前温度的城市,然后根据api和用户输入{城市名称-用户输入:api当前温度}制作一个字典,然后将字典制作成图形{城市名称:api当前温度} 我使用的api是drksky api 我主要用这个:Python 如何将用户输入添加到词典中,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我试图建立一个从天气网站的api图形。我希望用户输入3个我想知道当前温度的城市,然后根据api和用户输入{城市名称-用户输入:api当前温度}制作一个字典,然后将字典制作成图形{城市名称:api当前温度} 我使用的api是drksky api 我主要用这个: import matplotlib.pyplot as plt for the graph 问题是我得到的结果是这样的图形: 我只需要最后一个有3个城市的 不幸的是我不能去 有人能帮我吗?您应该创建一个新密钥,并将空字符串作为值: if
import matplotlib.pyplot as plt for the graph
问题是我得到的结果是这样的图形:
我只需要最后一个有3个城市的
不幸的是我不能去
有人能帮我吗?您应该创建一个新密钥,并将空字符串作为值:
if cities_for_txt_file == {}:
a = input("Enter first city name in lower case letter: ")
cities_for_txt_file[a] = ""
b = input("Enter second city name in lower case letter: ")
cities_for_txt_file[b] = ""
c = input("Enter third city name in lower case letter: ")
cities_for_txt_file[c] = ""
for city in cities_for_txt_file:
location, lat, lon = get_geo_location(city)
forecast = forecastio.load_forecast(Mykey, lat, lon)
然后将forecast作为值分配给城市:
cities_for_txt_file[city] = forecast
注意:由于您没有提供完整的代码,它很可能不会处理错误,例如在get_geo_位置未找到城市。我建议您在代码中添加一些try/catch
编辑:当你编辑你的问题时,这是我对你新问题的回答
不应在循环中进行所有打印部分,而应在循环之后进行。应该是这样的:
for city in daily_temp_dict.keys():
location, lat, lon = get_geo_location(city)
forecast = forecastio.load_forecast(Mykey, lat, lon)
daily_temp_dict[city] = forecast.currently().temperature
data = daily_temp_dict
names = list(data.keys())
print(names)
values = list(data.values())
print(values)
plt.bar(0,values[0],tick_label=names[0])
plt.bar(1,values[1],tick_label=names[1])
plt.bar(2,values[2],tick_label=names[2])
plt.xticks(range(0,3),names)
plt.savefig('fruit.png')
plt.show()
字典不是这样工作的,字典不支持追加 我想你不知道字典是怎么工作的,我建议你读一点
不幸的是我不能去——为什么?有错误吗?输出结果是否与您期望的不一样?嗨,请对您的问题进行一些编辑,以增加可读性,您将获得更多的关注,并有更多的机会获得答案。它应该是一个来自词汇的图表x图:城市名称,y图:API的当前温度,这一行是什么?结束如果我修复了代码,请有人能帮我吗?它来自api,你能在这里帮助我如何将其作为pltfrom geopy.geocoders导入Namingm get_geo_locationlocation:location=Namingm.geocodelocation lat=location.latitude lon=location.Long返回位置,lat,朗from@kinglebron我为你的新问题编辑了我的答案。@kinglebron如果它解决了你的问题,请将它标记为答案。我学习了一些关于这个主题的知识并编辑了我的问题,你现在能帮我吗?
for city in daily_temp_dict.keys():
location, lat, lon = get_geo_location(city)
forecast = forecastio.load_forecast(Mykey, lat, lon)
daily_temp_dict[city] = forecast.currently().temperature
data = daily_temp_dict
names = list(data.keys())
print(names)
values = list(data.values())
print(values)
plt.bar(0,values[0],tick_label=names[0])
plt.bar(1,values[1],tick_label=names[1])
plt.bar(2,values[2],tick_label=names[2])
plt.xticks(range(0,3),names)
plt.savefig('fruit.png')
plt.show()