tkinter 编写科学计算器详细代码
时间: 2023-08-17 11:05:41 浏览: 221
当然,下面是一个使用tkinter编写的简单科学计算器的示例代码:
```python
import tkinter as tk
from math import *
def evaluate():
try:
result = eval(entry.get())
entry.delete(0, tk.END)
entry.insert(tk.END, str(result))
except Exception as e:
entry.delete(0, tk.END)
entry.insert(tk.END, "Error")
def clear():
entry.delete(0, tk.END)
def button_click(event):
current = entry.get()
text = event.widget.cget("text")
entry.delete(0, tk.END)
entry.insert(tk.END, current + text)
root = tk.Tk()
root.title("Scientific Calculator")
entry = tk.Entry(root, font=("Arial", 20))
entry.pack(padx=10, pady=10)
button_frame = tk.Frame(root)
button_frame.pack()
buttons = [
["7", "8", "9", "/"],
["4", "5", "6", "*"],
["1", "2", "3", "-"],
["0", ".", "=", "+"],
["sin", "cos", "tan", "^2"],
["sqrt", "log", "(", ")"]
]
for i in range(len(buttons)):
for j in range(len(buttons[i])):
button = tk.Button(button_frame, text=buttons[i][j], font=("Arial", 15), padx=20, pady=10)
button.grid(row=i, column=j)
button.bind("<Button-1>", button_click)
clear_button = tk.Button(root, text="C", font=("Arial", 15), padx=20, pady=10, command=clear)
clear_button.pack()
equal_button = tk.Button(root, text="=", font=("Arial", 15), padx=20, pady=10, command=evaluate)
equal_button.pack()
root.mainloop()
```
此代码使用tkinter库创建了一个简单的科学计算器界面。它包含一个文本框用于显示和输入数学表达式,以及一系列按钮用于输入数字、运算符和函数。通过eval()函数来计算表达式的结果,并将结果显示在文本框中。该计算器支持基本的四则运算、三角函数、平方、开方和对数等功能。
请注意,这只是一个简单的示例,可能需要根据具体需求进行修改和扩展。
阅读全文