Потому что, когда вы выдвигаете одно из чисел, список, через который перебирается i
, становится короче, поэтому он заканчивается рано. Также вместо использования x
в качестве отдельной переменной для отслеживания итераций вы можете использовать enumerate
. Делая это, и не выталкивая номер, просто отображая его, исправляет вашу проблему:
from tkinter import *
def table():
filewin = Toplevel(root)
numbers = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
for i,number in enumerate(numbers):
Label(filewin, text = ("Value", i+1, ":")).grid(column = 0, row = i)
Label(filewin, text = (number,"cm")).grid(column = 1, row = i)
root = Tk()
Button(root, text = 'show list', command = table).pack()
root.mainloop()