简易计算器代码修复与补全
鱼油你好!你提供的简易计算器代码中,按钮布局部分 buttons = 后面缺失了具体的按钮内容,导致程序无法运行。下面是补全并修复后的完整代码:
import tkinter as tk
from tkinter import messagebox
class SimpleCalculator:
def __init__(self, master):
self.master = master
self.master.title("简易计算器")
self.master.geometry("300x400")
# 显示结果的文本框
self.result_text = tk.StringVar()
self.result_entry = tk.Entry(self.master, textvariable=self.result_text, font=("Arial", 20), bd=10, justify="right")
self.result_entry.pack(fill=tk.X, pady=10)
# 数字和运算符按钮
buttons = [
['7', '8', '9', '/'],
['4', '5', '6', '*'],
['1', '2', '3', '-'],
['0', '.', '=', '+']
]
for row in buttons:
frame = tk.Frame(self.master)
frame.pack(fill=tk.X)
for button_text in row:
button = tk.Button(frame, text=button_text, font=("Arial", 16), command=lambda txt=button_text: self.button_click(txt))
button.pack(side=tk.LEFT, padx=5, pady=5, fill=tk.X, expand=True)
# 清空按钮
self.clear_button = tk.Button(self.master, text="C", font=("Arial", 16), command=self.clear)
self.clear_button.pack(side=tk.LEFT, padx=5, pady=5, fill=tk.X, expand=True)
def button_click(self, text):
if text == '=':
try:
result = eval(self.result_text.get())
self.result_text.set(str(result))
except Exception as e:
messagebox.showerror("错误", "计算错误!")
self.clear()
else:
current_text = self.result_text.get()
self.result_text.set(current_text + text)
def clear(self):
self.result_text.set("")
if __name__ == "__main__":
root = tk.Tk()
app = SimpleCalculator(root)
root.mainloop()
说明
- 补全了 buttons 的内容,添加了数字和运算符按钮。
- 移除了多余的 if text == 'C' 判断,因为清空功能已经由单独的按钮实现。
- 程序现在可以正常运行,支持基本的加减乘除和小数点输入。
如有其他功能需求(如键盘输入支持、括号运算等),欢迎继续提问!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |