我正在尝试创建一个 python 程序(作为大学练习),它将从用户那里获取坐标并向用户打印某些消息,例如:如果某个地区下雨,它将打印“我正在唱歌”
import json,urllib2
while True:
x=input("Give the longitude:")
if x<=180 and x>=-180:
x=str(x)
break
while True:
y=input("Give the latitude:")
if y<=90 and y>=-90:
y=str(y)
break
url="http://api.openweathermap.org/data/2.5/weather?lat="+y+"&lon="+x+"&appid=01e7a487b0c262921260c09b84bdb456"
weatherbot=urllib2.urlopen(url)
weatherinfo=weatherbot.read()
到目前为止,我可以从 Openweathermap 获取信息,但如果我尝试获取这样的特定信息:
currentweather=weatherinfo["weather"]["main"]
它给了我这个错误信息:
TypeError:string indices must be integer, not str
尽管我这样做:
print weatherinfo
它似乎是一本字典。
有人可以向我解释我做错了什么吗?
PS:不建议在 Python 中安装额外的库,因为我不能 100% 确定我们的教授会使用上述库来检查我们的代码。