Я пытаюсь создать программу python (как университетское упражнение), которая получит координаты от пользователя и напечатает определенные сообщения пользователю, например: , если идет дождь в определенном регионе напечатает «Я пою под дождем»получение конкретной информации от openweathermap в python 2.7
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%, что наш профессор будет использовать указанные библиотеки для проверки нашего кода.
Похоже, домашнее задание для меня. – MarkyPython