Stack Overflow на русском Asked on January 1, 2022
написал второе приложение,но не нажимаются кнопки,помогите
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=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()
Я смог решить проблему, ниже верный код
from tkinter import *
from tkinter import messagebox
from tkinter import ttk
from functools import partial
root = Tk()
root.title('Калькулятор')
button_list=[]
#Логика калькулятора
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()[0:len(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:
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 = ''
button_list.append(ttk.Button(root, text=i, command=partial(calc,i)).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()
Answered by cyr oil on January 1, 2022
1 Asked on December 29, 2020
1 Asked on December 29, 2020
0 Asked on December 29, 2020
arduino case %d0%b1%d0%b8%d1%82%d0%be%d0%b2%d1%8b%d0%b5 %d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d0%b8 %d0%bc%d0%b0%d1%81%d1%81%d0%b8%d0%b2%d1%8b %d1%86%d0%b8%d0%ba%d0%bb%d1%8b
1 Asked on December 29, 2020 by siyovush-abdulloev
0 Asked on December 29, 2020
javascript slick js %d1%81%d0%bb%d0%b0%d0%b9%d0%b4%d0%b5%d1%80
2 Asked on December 28, 2020 by olbutov2003
c %d0%b0%d0%bb%d0%b3%d0%be%d1%80%d0%b8%d1%82%d0%bc %d0%be%d0%bf%d1%82%d0%b8%d0%bc%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f
2 Asked on December 28, 2020
1 Asked on December 27, 2020 by sinneren
1 Asked on December 27, 2020 by dgdays
linux %d1%84%d1%83%d0%bd%d0%ba%d1%86%d0%b8%d0%be%d0%bd%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5 %d0%ba%d0%bb%d0%b0%d0%b2%d0%b8%d1%88%d0%b8
1 Asked on December 27, 2020 by festina
php %d0%bf%d0%be%d0%b4%d1%81%d1%82%d1%80%d0%be%d0%ba%d0%b0 %d1%81%d1%82%d1%80%d0%be%d0%ba%d0%b8
Get help from others!
Recent Answers
Recent Questions
© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP