简易计算器,窗口界面自由发挥,编程实现两个整数的加、减、乘、除操作。要求如下: 首先进行操作数文本框检验,检验输入数据是否为纯数字; 通过分别单击加、减、乘、除按钮,对操作数1与操作数2进行相应加、减、乘、除操作,并且将其结果写入操作3文本框。
时间: 2023-07-10 16:16:57 浏览: 27
好的,这是一个基础的窗口应用程序,需要使用GUI框架来实现窗口界面和控件。我可以使用Python的Tkinter库来实现这个计算器程序。以下是代码实现:
```python
import tkinter as tk
class Calculator:
def __init__(self, master):
self.master = master
master.title("简易计算器")
# 定义控件
self.num1_label = tk.Label(master, text="操作数1:")
self.num1_label.grid(row=0, column=0)
self.num1_entry = tk.Entry(master, width=10)
self.num1_entry.grid(row=0, column=1)
self.num2_label = tk.Label(master, text="操作数2:")
self.num2_label.grid(row=1, column=0)
self.num2_entry = tk.Entry(master, width=10)
self.num2_entry.grid(row=1, column=1)
self.add_button = tk.Button(master, text="+", command=self.add)
self.add_button.grid(row=2, column=0)
self.subtract_button = tk.Button(master, text="-", command=self.subtract)
self.subtract_button.grid(row=2, column=1)
self.multiply_button = tk.Button(master, text="*", command=self.multiply)
self.multiply_button.grid(row=3, column=0)
self.divide_button = tk.Button(master, text="/", command=self.divide)
self.divide_button.grid(row=3, column=1)
self.result_label = tk.Label(master, text="结果:")
self.result_label.grid(row=4, column=0)
self.result_entry = tk.Entry(master, width=10)
self.result_entry.grid(row=4, column=1)
def add(self):
# 检验输入
if self.check_input():
num1 = int(self.num1_entry.get())
num2 = int(self.num2_entry.get())
result = num1 + num2
self.result_entry.delete(0, tk.END)
self.result_entry.insert(tk.END, str(result))
def subtract(self):
# 检验输入
if self.check_input():
num1 = int(self.num1_entry.get())
num2 = int(self.num2_entry.get())
result = num1 - num2
self.result_entry.delete(0, tk.END)
self.result_entry.insert(tk.END, str(result))
def multiply(self):
# 检验输入
if self.check_input():
num1 = int(self.num1_entry.get())
num2 = int(self.num2_entry.get())
result = num1 * num2
self.result_entry.delete(0, tk.END)
self.result_entry.insert(tk.END, str(result))
def divide(self):
# 检验输入
if self.check_input():
num1 = int(self.num1_entry.get())
num2 = int(self.num2_entry.get())
if num2 == 0:
self.result_entry.delete(0, tk.END)
self.result_entry.insert(tk.END, "错误:除数不能为0")
else:
result = num1 / num2
self.result_entry.delete(0, tk.END)
self.result_entry.insert(tk.END, str(result))
def check_input(self):
num1 = self.num1_entry.get()
num2 = self.num2_entry.get()
if not num1.isdigit() or not num2.isdigit():
self.result_entry.delete(0, tk.END)
self.result_entry.insert(tk.END, "错误:请输入纯数字")
return False
else:
return True
root = tk.Tk()
calculator = Calculator(root)
root.mainloop()
```
在代码中,使用了Tkinter库来创建窗口、标签、文本框和按钮等控件。在构造函数`__init__`中,创建了必要的控件,分别对应操作数1、操作数2、加、减、乘、除和结果。在按钮的`command`参数中分别指定了对应的操作函数。
在操作函数中,首先对输入进行检验,如果输入不是纯数字,则在结果文本框中显示错误信息。否则,获取操作数1和操作数2的值,进行对应的计算,将结果显示在结果文本框中。
在`check_input`函数中,检查输入是否为纯数字。如果不是,则在结果文本框中显示错误信息,返回False;否则返回True。
最后,在主函数中创建了一个窗口,并创建了一个Calculator对象来实现计算器程序。运行程序后,可以看到窗口界面和计算器功能。