Найти - Пользователи
Полная версия: Помогите найти ошибку
Начало » Центр помощи » Помогите найти ошибку
1
vasz
здравствуйте, недавно начал изучать питона и решил создать простой калькулятор, но в конце столкнулся с непонятной проблемой. ИДЛЕ не выдает никаких ошибок при запуске, но числа почему-то не вводятся в строку вывода. Буду благодарен любому стоящему совету. Код прикреплен
rami
Нажатие на кнопки калькулятора передаёт в функцию 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()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB