Теперь у меня стало 23 ошибки. В словах:#логика калькулятора;def calc(key):;memory;#исключаем написание букв;#счет;except;#очистить поле;#смена +-;calc_entry;calc_entry;else;calc_entry;#cоздаем все кнопки;bttn_list = [;cmd;if C>4
ошибка в знаке ‘>’);C=0(ошибка в знаке
;root.mainloop()(ошибка в знаке )).Это стало после того как я убрал кавычки в слове ‘memory’. Вот весь код:
from tkinter import *
from tkinter import messagebox
from tkinter import ttk
root = Tk()
root.title('Калькулятор')
#логика калькулятора
def calc(key):
global memory
if key == ‘=’:
#исключаем написание букв
strl = ‘-+0123456789.*/’
if calc_entry.get() not in strl:
calc_entry.insert(END, ‘Первый символ не число!’)
messagebox.showerror('Ошибка!', ‘Вы ввели не число!’)
#счет
try:
result = eval(calc_entry.get())
calc_entry.insert(END, ‘=’ + str(result))
except:
calc_entry.insert(END, ‘Ошибка!’)
messagebox.showerror('Ошибка!', ‘Проверь правильность данных’)
#очистить поле
elif key == ‘c’:
calc_entry.delete(0, END)
#смена +-
elif key == ‘-/+’:
if ‘=’ in calc_entry.get():
calc_entry.delete(0, END)
try:
if calc_entry.get() == ‘-’:
calc_entry.delete(0)
else:
calc_entry.insert(0, ‘-’)
except IndexError:
pass
else:
if ‘=’ in calc_entry.get():
calc_entry.delete(0, END)
calc_entry.insert(END, key)
#cоздаем все кнопки
bttn_list = [
‘7’, ‘8’, ‘9’, ‘+’, ‘-’,
‘4’, ‘5’, ‘6’, ‘*’, ‘/’,
‘1’, ‘2’, ‘3’, ‘-/+’, ‘=’,
‘0’, ‘.’, ‘C’, ‘', ’',
]
r = 1
C = 0
for i in bttn_list:
rel = ''
cmd=lambda x=i: calc(x)
ttk.Button(root, texi=i, command=cmd).grid(row=r, column=C)
C += 1
if C>4:
C=0
r += 1
calc_entry = Entry(root, width=33)
calc_entry.grid(row=0, column=0, columnspan=5)
root.mainloop()