python用tkinter模块制作简易计算器,窗口界面自由发挥,编程实现两个整数的加、减、乘、除操作。要求如下: 首先进行操作数文本框检验,检验输入数据是否为纯数字; 通过分别单击加、减、乘、除按钮,对操作数1与操作数2进行相应加、减、乘、除操作,并且将其结果写入操作3文本框。 源代码
时间: 2023-07-10 20:07:21 浏览: 147
以下是一个简易的计算器程序,使用tkinter模块实现:
```python
import tkinter as tk
def calculate():
try:
num1 = float(entry_num1.get())
num2 = float(entry_num2.get())
op = operator.get()
if op == '+':
result = num1 + num2
elif op == '-':
result = num1 - num2
elif op == '*':
result = num1 * num2
elif op == '/':
result = num1 / num2
else:
result = ''
entry_result.delete(0, tk.END)
entry_result.insert(0, result)
except ValueError:
entry_result.delete(0, tk.END)
entry_result.insert(0, 'Invalid input')
root = tk.Tk()
root.title('Calculator')
operator = tk.StringVar(root, '+')
label_num1 = tk.Label(root, text='Number 1:')
label_num1.grid(row=0, column=0)
entry_num1 = tk.Entry(root)
entry_num1.grid(row=0, column=1)
label_operator = tk.Label(root, text='Operator:')
label_operator.grid(row=1, column=0)
button_add = tk.Radiobutton(root, text='+', variable=operator, value='+')
button_add.grid(row=1, column=1)
button_subtract = tk.Radiobutton(root, text='-', variable=operator, value='-')
button_subtract.grid(row=1, column=2)
button_multiply = tk.Radiobutton(root, text='*', variable=operator, value='*')
button_multiply.grid(row=1, column=3)
button_divide = tk.Radiobutton(root, text='/', variable=operator, value='/')
button_divide.grid(row=1, column=4)
label_num2 = tk.Label(root, text='Number 2:')
label_num2.grid(row=2, column=0)
entry_num2 = tk.Entry(root)
entry_num2.grid(row=2, column=1)
button_calculate = tk.Button(root, text='Calculate', command=calculate)
button_calculate.grid(row=3, column=0)
label_result = tk.Label(root, text='Result:')
label_result.grid(row=4, column=0)
entry_result = tk.Entry(root)
entry_result.grid(row=4, column=1)
root.mainloop()
```
该程序由一个窗口,三个输入框和四个按钮组成。操作数1和操作数2通过 `tk.Entry` 组件实现,操作符通过 `tk.Radiobutton` 组件实现,结果通过 `tk.Entry` 组件实现。在点击“Calculate”按钮时,程序会调用 `calculate` 函数,对输入的数据进行检验并进行相应的计算,最后将结果显示在结果输入框中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)