Форум сайта python.su
здравствуйте, недавно начал изучать питона и решил создать простой калькулятор, но в конце столкнулся с непонятной проблемой. ИДЛЕ не выдает никаких ошибок при запуске, но числа почему-то не вводятся в строку вывода. Буду благодарен любому стоящему совету. Код прикреплен
Прикреплённый файлы: calcdd.py (1,0 KБ)
Офлайн
Нажатие на кнопки калькулятора передаёт в функцию calc(key) соответствующий параметр, у вас функция обрабатывает только нажатие кнопок “=” и “C”, остальные пролетают. Ещё есть опечатки. Сравните (сделал другое расположение кнопок):
from tkinter import Tk,messagebox,Button,Entry str1='-+0987654321.**/' bl=['1','2','3','+','4','5','6','-','7','8','9','*','0','.','**','/','','','C','='] root = Tk() root.title('Калькулятор') #logical part of calc def calc(key): if key in str1: calc_entry.insert('end',key) if key == '=': #off letter write try: result=eval(calc_entry.get()) calc_entry.insert('end','=' +str(result)) except: calc_entry.insert('end',' ERROR!!') #clean field elif key == 'C': calc_entry.delete(0,'end') c,r=0,1 for i in bl: cmd = lambda x=i: calc(x) Button(root,font='Arial 18',text=i,command=cmd).grid(row=r,column=c) c+=1 if c>3: c,r=0,r+1 calc_entry = Entry(root) #,width=33) calc_entry.grid(row=0,column=0,columnspan=4) root.mainloop()
Офлайн