Нужна помощь с питоном калькулятор с Алгоритмом Эвклида

Мейрам

Новичок
Пользователь
Май 7, 2020
4
0
1
Пытался сделать прогу через библиотеку tkinter но что то не получается программа выдает ошибку помогите с ней

Python:
from math import gcd
import tkinter as tk

win= tk.Tk()
win.geometry(f"345x350+800+250")
win.resizable(False,False)
win['bg']='gray'
win.title('Алгоритм Эвклида')

calc=tk.Entry(win, justify=tk.RIGHT, font=('Arial',15),width=15)
calc.insert(0,'0')
calc.grid(row=0, column=0, columnspan=4, stick='we', padx=5, pady=5)

calc2=tk.Entry(win, justify=tk.RIGHT, font=('Arial',15),width=15)
calc2.insert(0,'Мейрам СИБ 19-4')
calc2.grid(row=1, column=0, columnspan=4, stick='we', padx=5, pady=5)

def clear():
    calc.delete(0, tk.END)
    calc.insert(0,0)


def add_digit(digit):
    value=calc.get()
    if value[0]=='0' and len(value)==1:
        value=value[1:]
    calc.delete(0,tk.END)
    calc.insert(0,value+digit)

def add_operation(operation):
    value=calc.get()
    if value[-1] in 'gcd':
        value=value[:-1]
    calc.delete(0,tk.END)
    calc.insert(0,value+operation)


def calculate():
    value = calc.get()
    if value[-1] in 'mod':
        value=value[:-1]
    elif 'mod' in value or 'mod' in value:
        calculate()
        value=calc.get()
    calc.delete(0, tk.END)
    calc.insert(0, eval(value+value))

def make_digit_button(digit):
    return tk.Button(text=digit,bd=5,font=('Arial',18),fg='red',
                     command=lambda :add_digit(digit))


def make_operation_button(operation):
    return tk.Button(text=operation,bd=5,font=('Arial',18),fg='green',
                     command=lambda :add_operation(operation))

def make_clear_button(operation):
    return tk.Button(text=operation, bd=5, font=('Arial', 18), fg='green',
                     command=clear)


def make_calc_button(calc):
    return tk.Button(text=calc, bd=5, font=('Arial', 18), fg='green',
                     command=calculate)

make_digit_button('1').grid(row=2,column=0,stick='wens',padx=5,pady=5)
make_digit_button('2').grid(row=2,column=1,stick='wens',padx=5,pady=5)
make_digit_button('3').grid(row=2,column=2,stick='wens',padx=5,pady=5)
make_digit_button('4').grid(row=3,column=0,stick='wens',padx=5,pady=5)
make_digit_button('5').grid(row=3,column=1,stick='wens',padx=5,pady=5)
make_digit_button('6').grid(row=3,column=2,stick='wens',padx=5,pady=5)
make_digit_button('7').grid(row=4,column=0,stick='wens',padx=5,pady=5)
make_digit_button('8').grid(row=4,column=1,stick='wens',padx=5,pady=5)
make_digit_button('9').grid(row=4,column=2,stick='wens',padx=5,pady=5)
make_digit_button('0').grid(row=2,column=3,stick='wens',padx=5,pady=5)

make_operation_button('gcd').grid(row=5,column=3,stick='wens',padx=5,pady=5)
make_calc_button('result:').grid(row=3,column=3,stick='wens',padx=5,pady=5)
make_clear_button('C').grid(row=4,column=3,stick='wens',padx=5,pady=5)

win.grid_columnconfigure(0,minsize=80)
win.grid_columnconfigure(1,minsize=80)
win.grid_columnconfigure(2,minsize=80)
win.grid_columnconfigure(4,minsize=80)
win.grid_columnconfigure(3,minsize=80)
win.grid_columnconfigure(5,minsize=80)
win.grid_columnconfigure(6,minsize=80)


win.grid_rowconfigure(1,minsize=60)
win.grid_rowconfigure(2,minsize=60)
win.grid_rowconfigure(3,minsize=60)
win.grid_rowconfigure(4,minsize=60)



win.mainloop()
 

Мейрам

Новичок
Пользователь
Май 7, 2020
4
0
1
все спасибо уже сделал сам
 

Форум IT Специалистов