请用python实现简易计算器,窗口界面自由发挥,编程实现两个整数的加、减、乘、除操作。要求如下: 首先进行操作数文本框检验,检验输入数据是否为纯数字; 通过分别单击加、减、乘、除按钮,对操作数1与操作数2进行相应加、减、乘、除操作,并且将其结果写入操作3文本框,请用中文回答我,代码简单一些,功能多一些
时间: 2023-07-10 18:19:58 浏览: 77
好的,以下是一个简单的使用Python tkinter实现的计算器,实现了两个整数的加、减、乘、除操作。
```python
import tkinter as tk
class Calculator:
def __init__(self):
self.window = tk.Tk()
self.window.title("简易计算器")
self.window.geometry("300x200")
self.num1_label = tk.Label(self.window, text="操作数1:")
self.num1_label.grid(row=0, column=0)
self.num1_entry = tk.Entry(self.window)
self.num1_entry.grid(row=0, column=1)
self.num2_label = tk.Label(self.window, text="操作数2:")
self.num2_label.grid(row=1, column=0)
self.num2_entry = tk.Entry(self.window)
self.num2_entry.grid(row=1, column=1)
self.result_label = tk.Label(self.window, text="操作结果:")
self.result_label.grid(row=2, column=0)
self.result_entry = tk.Entry(self.window, state='readonly')
self.result_entry.grid(row=2, column=1)
self.add_button = tk.Button(self.window, text="+", command=self.add)
self.add_button.grid(row=3, column=0)
self.sub_button = tk.Button(self.window, text="-", command=self.sub)
self.sub_button.grid(row=3, column=1)
self.mul_button = tk.Button(self.window, text="*", command=self.mul)
self.mul_button.grid(row=4, column=0)
self.div_button = tk.Button(self.window, text="/", command=self.div)
self.div_button.grid(row=4, column=1)
def run(self):
self.window.mainloop()
def verify_input(self, num_str):
if not num_str.isdigit():
tk.messagebox.showerror("错误", "请输入纯数字")
return False
return True
def add(self):
num1_str = self.num1_entry.get()
num2_str = self.num2_entry.get()
if not self.verify_input(num1_str) or not self.verify_input(num2_str):
return
result = int(num1_str) + int(num2_str)
self.result_entry.configure(state='normal')
self.result_entry.delete(0, 'end')
self.result_entry.insert(0, str(result))
self.result_entry.configure(state='readonly')
def sub(self):
num1_str = self.num1_entry.get()
num2_str = self.num2_entry.get()
if not self.verify_input(num1_str) or not self.verify_input(num2_str):
return
result = int(num1_str) - int(num2_str)
self.result_entry.configure(state='normal')
self.result_entry.delete(0, 'end')
self.result_entry.insert(0, str(result))
self.result_entry.configure(state='readonly')
def mul(self):
num1_str = self.num1_entry.get()
num2_str = self.num2_entry.get()
if not self.verify_input(num1_str) or not self.verify_input(num2_str):
return
result = int(num1_str) * int(num2_str)
self.result_entry.configure(state='normal')
self.result_entry.delete(0, 'end')
self.result_entry.insert(0, str(result))
self.result_entry.configure(state='readonly')
def div(self):
num1_str = self.num1_entry.get()
num2_str = self.num2_entry.get()
if not self.verify_input(num1_str) or not self.verify_input(num2_str):
return
if int(num2_str) == 0:
tk.messagebox.showerror("错误", "除数不能为0")
return
result = int(num1_str) / int(num2_str)
self.result_entry.configure(state='normal')
self.result_entry.delete(0, 'end')
self.result_entry.insert(0, str(result))
self.result_entry.configure(state='readonly')
if __name__ == "__main__":
calculator = Calculator()
calculator.run()
```
这个计算器界面比较简单,有两个操作数的文本框和一个显示结果的文本框,以及四个按钮分别对应加、减、乘、除四种操作。在点击按钮时,会首先进行输入检验,如果输入不是纯数字则弹出错误提示框;如果输入合法,则进行相应的计算,并将结果写入结果文本框。
阅读全文