Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка на пайтон

яша лава Ученик (156), открыт 2 недели назад
все работало но после того как я переставил части кода что бы пофиксить другие ошибки стало вылетать
Traceback (most recent call last):
File "C:\Users\admin\PycharmProjects\pythonProject\main.py", line 19, in <module>
temperature = round(weather_data['main']['temp'])
KeyError: 'main'


вот код:
import requests
from tkinter import *


window = Tk()
window.title("ПОГОДА ©")
window.geometry('400x300')
lbl = Label(window, text="введите город:", font=("Arial Bold", 12))
lbl.grid(column=0, row=0)
lbl = Label(window, text="===========", font=("Arial Bold", 12))
lbl.grid(column=0, row=2)
txt = Entry(window, width=10)
txt.grid(column=1, row=0)


city = format(txt.get())
url = 'ttps://api.openweathermap.org/data/2.5/weather?q='+city+'&units=metric&lang=ru&appid=79d1ca96933b0328e1c7e3e7a26cb347'
weather_data = requests.get(url).json()
temperature = round(weather_data['main']['temp'])


def clicked():
res = (temperature).int(txt.get())
lbl.configure(text=res)


window = Tk()
window.title("ПОГОДА ©")
window.geometry('400x300')
lbl = Label(window, text="введите город:", font=("Arial Bold", 12))
lbl.grid(column=0, row=0)
lbl = Label(window, text="===========", font=("Arial Bold", 12))
lbl.grid(column=0, row=2)
txt = Entry(window, width=10)
txt.grid(column=1, row=0)
btn = Button(window, text="клик", command=clicked, width=6, height=1)
btn.grid(column=2, row=0)
window.mainloop()


(в ссылке вырезал букву h)
1 ответ
Kil002 Мастер (2357) 2 недели назад
Даже на код смотреть не буду. Программа это как труба, куда направишь, туда и пойдёт вода (информация)
В твоём случае ошибка в строке
 temperature = round(weather_data['main']['temp'])  
А если быть точнее
В weather_data нет ключа ['main']

Берёшь дебагер, смотришь что туда приходит и исправляешь свой косяк.
Похожие вопросы