Привет,являюсь новичком в питоне.Попробовал написать калькулятор,но выдаёт ошибку:unindent does not match any outer indentation level.
Вот код:
Вот код:
Python:
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()[0] 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('Проверь правильность данных')
#Clean
elif key == 'C':
calc_entry.delete(0,END)
#from + to -
elif key == '-/+':
if '=' in calc_entry.get():
calc_entry.delete (0, END)
try:
if calc_entry.get()[0] == '-':
calc_entry.delete (0)
else:
calc_entry.insert(0,'-')
except IndexError:
pass
else:
if '=' calc_entry.get():
calc_entry.delete(0,END)
calc_entry.insert(END,key)
#Add btth
btth_list = [
'7','8','9','+','-',
'4','5','6','*','/',
'1','2','3','-/+','='
'0','.','C','**'
]
r = 1
c = 0
for i in btth_list:
rel = ''
cmd=lambda x=i: calc(x)
ttk.Button(root, text=1 command=cmd).grid(row=r, colum=c)
c += 1
if c>4:
c=0
r += 1
calc_entry=Entry (root, width=33)
calc_entry.grid(row=0m, colum=0, columspan=5)
root.mainloop()
Последнее редактирование модератором: