简易计算器,窗口界面自由发挥,编程实现两个整数的加、减、乘、除操作。要求如下: 首先进行操作数文本框检验,检验输入数据是否为纯数字; 通过分别单击加、减、乘、除按钮,对操作数1与操作数2进行相应加、减、乘、除操作,并且将其结果写入操作3文本框。
时间: 2023-07-10 15:18:20 浏览: 42
好的,我可以帮你实现一个Python版本的简易计算器,代码如下:
```python
from tkinter import *
class Calculator:
def __init__(self, master):
self.master = master
master.title("简易计算器")
self.num1_label = Label(master, text="操作数1")
self.num1_label.grid(row=0, column=0)
self.num1_entry = Entry(master)
self.num1_entry.grid(row=0, column=1)
self.num2_label = Label(master, text="操作数2")
self.num2_label.grid(row=1, column=0)
self.num2_entry = Entry(master)
self.num2_entry.grid(row=1, column=1)
self.result_label = Label(master, text="结果")
self.result_label.grid(row=2, column=0)
self.result_entry = Entry(master, state="readonly")
self.result_entry.grid(row=2, column=1)
self.add_button = Button(master, text="+", command=self.add)
self.add_button.grid(row=3, column=0)
self.sub_button = Button(master, text="-", command=self.sub)
self.sub_button.grid(row=3, column=1)
self.mul_button = Button(master, text="×", command=self.mul)
self.mul_button.grid(row=4, column=0)
self.div_button = Button(master, text="÷", command=self.div)
self.div_button.grid(row=4, column=1)
def is_valid_number(self, string):
try:
int(string)
return True
except ValueError:
return False
def add(self):
if self.is_valid_number(self.num1_entry.get()) and self.is_valid_number(self.num2_entry.get()):
result = int(self.num1_entry.get()) + int(self.num2_entry.get())
self.result_entry.config(state="normal")
self.result_entry.delete(0, END)
self.result_entry.insert(0, result)
self.result_entry.config(state="readonly")
def sub(self):
if self.is_valid_number(self.num1_entry.get()) and self.is_valid_number(self.num2_entry.get()):
result = int(self.num1_entry.get()) - int(self.num2_entry.get())
self.result_entry.config(state="normal")
self.result_entry.delete(0, END)
self.result_entry.insert(0, result)
self.result_entry.config(state="readonly")
def mul(self):
if self.is_valid_number(self.num1_entry.get()) and self.is_valid_number(self.num2_entry.get()):
result = int(self.num1_entry.get()) * int(self.num2_entry.get())
self.result_entry.config(state="normal")
self.result_entry.delete(0, END)
self.result_entry.insert(0, result)
self.result_entry.config(state="readonly")
def div(self):
if self.is_valid_number(self.num1_entry.get()) and self.is_valid_number(self.num2_entry.get()) and int(self.num2_entry.get()) != 0:
result = int(self.num1_entry.get()) / int(self.num2_entry.get())
self.result_entry.config(state="normal")
self.result_entry.delete(0, END)
self.result_entry.insert(0, result)
self.result_entry.config(state="readonly")
root = Tk()
my_calculator = Calculator(root)
root.mainloop()
```
这个程序使用了面向对象的编程方法,创建了一个Calculator类,初始化方法中创建了窗口中的各种组件,包括操作数1和2的输入框、结果的输出框以及加减乘除按钮。每个按钮的command属性分别绑定了对应的方法,单击按钮时会执行相应的方法。在计算结果时,程序会先检测输入的操作数是否为纯数字,如果不是则不会进行计算。最后,使用mainloop()方法让窗口进入事件循环,等待用户的操作。