利用python完成简易计算器,窗口界面自由发挥,编程实现两个整数的加、减、乘、除操作。要求如下: - 首先进行操作数文本框检验,检验输入数据是否为纯数字; - 通过分别单击加、减、乘、除的方块按钮,对操作数1与操作数2进行相应加、减、乘、除操作,并且将其结果写入操作3文本框。
时间: 2023-07-10 20:14:09 浏览: 71
好的,这个问题和之前的问题类似,只是按钮的形状不同,我们可以根据需求进行改进,代码如下:
```python
import tkinter as tk
def is_valid_number(s):
try:
float(s)
return True
except ValueError:
return False
def calculate():
num1 = num1_entry.get()
num2 = num2_entry.get()
if not is_valid_number(num1) or not is_valid_number(num2):
result.set("请输入数字!")
return
num1 = int(num1)
num2 = int(num2)
if operator.get() == "+":
res = num1 + num2
elif operator.get() == "-":
res = num1 - num2
elif operator.get() == "*":
res = num1 * num2
elif operator.get() == "/":
if num2 == 0:
result.set("除数不能为 0!")
return
res = num1 / num2
result.set(str(res))
root = tk.Tk()
root.title("简易计算器")
num1_label = tk.Label(root, text="操作数1:")
num1_label.grid(row=0, column=0)
num1_entry = tk.Entry(root)
num1_entry.grid(row=0, column=1)
num2_label = tk.Label(root, text="操作数2:")
num2_label.grid(row=1, column=0)
num2_entry = tk.Entry(root)
num2_entry.grid(row=1, column=1)
operator_label = tk.Label(root, text="运算符:")
operator_label.grid(row=2, column=0)
operator = tk.StringVar()
operator.set("+")
add_button = tk.Button(root, text="+", font=("Arial", 12), width=3, height=1, command=lambda: operator.set("+"))
add_button.grid(row=2, column=1)
sub_button = tk.Button(root, text="-", font=("Arial", 12), width=3, height=1, command=lambda: operator.set("-"))
sub_button.grid(row=2, column=2)
mul_button = tk.Button(root, text="×", font=("Arial", 12), width=3, height=1, command=lambda: operator.set("*"))
mul_button.grid(row=2, column=3)
div_button = tk.Button(root, text="÷", font=("Arial", 12), width=3, height=1, command=lambda: operator.set("/"))
div_button.grid(row=2, column=4)
result_label = tk.Label(root, text="结果:")
result_label.grid(row=3, column=0)
result = tk.StringVar()
result.set("请进行计算!")
result_entry = tk.Entry(root, textvariable=result, state="readonly")
result_entry.grid(row=3, column=1)
calc_button = tk.Button(root, text="计算", font=("Arial", 12), width=10, height=1, command=calculate)
calc_button.grid(row=4, column=2, columnspan=2)
root.mainloop()
```
代码解释:
- 代码中的 `is_valid_number` 和 `calculate` 函数和之前的代码相同,不再解释。
- 创建 tkinter 窗口及各种控件,并进行布局。
- 通过 `Button` 控件实现选择加、减、乘、除运算符的功能,将按钮的文本设置为对应的运算符,将按钮的宽度和高度调整为相等,使其形状成为正方形。
- 点击计算按钮后触发 `calculate` 函数进行计算,并将结果显示在结果文本框中。
注意事项:
- 代码中的判断输入数据是否为纯数字的方式比较简单,实际使用时可以根据需要进行改进。
- 除法运算时要注意除数不能为 0 的情况,需要进行特殊处理,否则程序会出现异常。
- 如果需要对界面进行美化,可以自由发挥。
希望能对你有所帮助。
阅读全文