@kidkrow

Как исправить ошибку “list index out of range”?

from tkinter import*
from random import*
tk = Tk()
tk.title("Метеорологічні дослідження")
tk.geometry("400x250")


def btn_click():
    y=[]
    Lbox.delete(0,END)
    for i in range(7):
        y.append(randint(15,25))
        Lbox.insert(END,y[i])
    for i in range(6):
            canvas.create_line(x[i],200-y[i*5],x[i+1],200-y[i+1]*5,fill="blue")
    
canvas=Canvas(tk,width=290,height=250)
canvas.place(x=110,y=0)
canvas.create_line(30,200,270,200, arrow=LAST)
canvas.create_line(30,200,30,10, arrow=LAST)

Lbl=Label(text="Температура")
Lbl.place(x=20,y=20)

Lbox=Listbox(width=10,height=7)
Lbox.place(x=20,y=50)

Btn=Button(text="Побудувати", command=btn_click)
Btn.place(x=20,y=180)

        
for i in range(7):
    x=[60, 90, 120, 150, 180, 210, 240]
    canvas.create_line(x[i],195,x[i],205)
    canvas.create_text(x[i],215,text=i+1)
    
for i in range(5,36,5):
    canvas.create_line(25,200-i*5,35,200-i*5)
    canvas.create_text(15,200-i*5,text=i)


Ошибку выдает в строке canvas.create_line(x[i],200-y[i*5],x[i+1],200-y[i+1]*5,fill="blue")
Объясните, пожалуйста, доступно новичку.
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Мне кажется, строка должна выглядеть как-то так:
canvas.create_line(x[i],200-y[i]*5,x[i+1],200-y[i+1]*5,fill="blue")
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
08 мар. 2021, в 13:49
2000 руб./в час
08 мар. 2021, в 13:46
800 руб./в час
08 мар. 2021, в 13:42
1000 руб./в час