Когда я запускаю свой код, я получаю эту ошибку: ValueError: недопустимый литерал для int () с базой 10: '' Я нашел причину ошибки, но не знаю, как ее исправить (я буду укажите с комментарием, где находится ошибка). Вот код. Любой совет.
from tkinter import *
root = Tk()
root.title('shitty calculator')
numbers = []
number = 0
e = Entry(root, width = 30, borderwidth = 5)
e.grid(row = 0, column = 0, columnspan = 3, padx = 10, pady = 10)
#Getting a number
def button_add_def(number):
global current
current = e.get()
e.delete(0, END)
e.insert(0, str(current) + str(number))
#Clearing all numbers
def button_clear_def():
e.delete(0, END)
#Adding a number
def button_plus_def():
numbers.append(e.get())
e.delete(0, END)
#Printing the final result
def button_equal_def():
global number,numbers
for i in numbers:
number += int(i)
number += int(current)#Here is the error
e.delete(0,END)
e.insert(0, number)
numbers = []
number = 0
# Define buttons
button_1 = Button(root, text = '1', padx = 40, pady = 20 , command = lambda: button_add_def(1))
button_2 = Button(root, text = '2', padx = 40, pady = 20, command = lambda: button_add_def(2))
button_3 = Button(root, text = '3', padx = 40, pady = 20, command = lambda: button_add_def(3))
button_plus = Button(root, text = '+', padx = 39, pady = 20, command = lambda: button_plus_def())
button_equal = Button(root, text = '=', padx = 85, pady = 20, command = lambda: button_equal_def())
button_clear = Button(root, text = 'Clear', padx = 75, pady = 20, command = button_clear_def)
# Put the buttons on the screen
button_1.grid(row = '1', column = '0')
button_2.grid(row = '1', column = '1')
button_3.grid(row = '1', column = '2')
button_clear.grid(row = '4', column = '1', columnspan = 2)
button_plus.grid(row = '5', column = '0')
button_equal.grid(row = '5', column = '1', columnspan = 2)
root.mainloop()
Я использую vscode. Я удалил числа от 4 до 9, чтобы не утомлять вас ими. Извините, если я у меня плохая грамматика. английский sh не мой родной язык и мне 14 лет.