python写一个计算器代码
时间: 2023-08-13 22:09:13 浏览: 94
好的,以下是一个简单的计算器代码:
```python
import tkinter as tk
# 创建主窗口
root = tk.Tk()
root.title('计算器')
# 显示结果的文本框
result = tk.Entry(root, width=30, font=('Arial', 14))
result.grid(row=0, column=0, columnspan=4, padx=10, pady=10)
# 数字按钮的点击事件
def button_click(number):
current = result.get()
result.delete(0, tk.END)
result.insert(0, str(current) + str(number))
# 运算符按钮的点击事件
def button_operator(operator):
current = result.get()
global first_number
global operation
operation = operator
first_number = int(current)
result.delete(0, tk.END)
# 等于号按钮的点击事件
def button_equal():
second_number = int(result.get())
result.delete(0, tk.END)
if operation == '+':
result.insert(0, str(first_number + second_number))
elif operation == '-':
result.insert(0, str(first_number - second_number))
elif operation == '*':
result.insert(0, str(first_number * second_number))
elif operation == '/':
result.insert(0, str(first_number / second_number))
# 清除按钮的点击事件
def button_clear():
result.delete(0, tk.END)
# 创建数字按钮和运算符按钮
button_1 = tk.Button(root, text='1', padx=20, pady=10, command=lambda: button_click(1))
button_2 = tk.Button(root, text='2', padx=20, pady=10, command=lambda: button_click(2))
button_3 = tk.Button(root, text='3', padx=20, pady=10, command=lambda: button_click(3))
button_4 = tk.Button(root, text='4', padx=20, pady=10, command=lambda: button_click(4))
button_5 = tk.Button(root, text='5', padx=20, pady=10, command=lambda: button_click(5))
button_6 = tk.Button(root, text='6', padx=20, pady=10, command=lambda: button_click(6))
button_7 = tk.Button(root, text='7', padx=20, pady=10, command=lambda: button_click(7))
button_8 = tk.Button(root, text='8', padx=20, pady=10, command=lambda: button_click(8))
button_9 = tk.Button(root, text='9', padx=20, pady=10, command=lambda: button_click(9))
button_0 = tk.Button(root, text='0', padx=20, pady=10, command=lambda: button_click(0))
button_add = tk.Button(root, text='+', padx=20, pady=10, command=lambda: button_operator('+'))
button_subtract = tk.Button(root, text='-', padx=20, pady=10, command=lambda: button_operator('-'))
button_multiply = tk.Button(root, text='*', padx=20, pady=10, command=lambda: button_operator('*'))
button_divide = tk.Button(root, text='/', padx=20, pady=10, command=lambda: button_operator('/'))
button_clear = tk.Button(root, text='C', padx=20, pady=10, command=button_clear)
button_equal = tk.Button(root, text='=', padx=20, pady=10, command=button_equal)
# 显示按钮
button_1.grid(row=1, column=0)
button_2.grid(row=1, column=1)
button_3.grid(row=1, column=2)
button_add.grid(row=1, column=3)
button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)
button_subtract.grid(row=2, column=3)
button_7.grid(row=3, column=0)
button_8.grid(row=3, column=1)
button_9.grid(row=3, column=2)
button_multiply.grid(row=3, column=3)
button_clear.grid(row=4, column=0)
button_0.grid(row=4, column=1)
button_equal.grid(row=4, column=2)
button_divide.grid(row=4, column=3)
# 运行主循环
root.mainloop()
```
这是一个简单的计算器,你可以根据自己的需求进行修改和完善。
阅读全文