Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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 如何将用户输入添加到词典中_Python_Python 3.x_Dictionary - Fatal编程技术网

Python 如何将用户输入添加到词典中

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

我试图建立一个从天气网站的api图形。我希望用户输入3个我想知道当前温度的城市,然后根据api和用户输入{城市名称-用户输入:api当前温度}制作一个字典,然后将字典制作成图形{城市名称:api当前温度}

我使用的api是drksky api 我主要用这个:

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()