生成一个科学计算器程序
时间: 2023-08-14 20:05:40 浏览: 66
好的,这里是一个基础的科学计算器程序的示例代码,你可以在此基础上进行修改和完善。
示例代码:
```python
from tkinter import *
import math
class Calculator:
def __init__(self, master):
# 创建计算器界面
self.master = master
self.master.title('Scientific Calculator')
# 创建显示屏
self.display = Entry(master, width=40, borderwidth=5)
self.display.grid(row=0, column=0, columnspan=4, padx=10, pady=10)
# 创建按钮
self.create_button('sin', lambda: self.calculate('sin('))
self.create_button('cos', lambda: self.calculate('cos('))
self.create_button('tan', lambda: self.calculate('tan('))
self.create_button('^2', lambda: self.calculate('**2'))
self.create_button('sqrt', lambda: self.calculate('sqrt('))
self.create_button('(', lambda: self.calculate('('))
self.create_button(')', lambda: self.calculate(')'))
self.create_button('7', lambda: self.calculate('7'))
self.create_button('8', lambda: self.calculate('8'))
self.create_button('9', lambda: self.calculate('9'))
self.create_button('/', lambda: self.calculate('/'))
self.create_button('4', lambda: self.calculate('4'))
self.create_button('5', lambda: self.calculate('5'))
self.create_button('6', lambda: self.calculate('6'))
self.create_button('*', lambda: self.calculate('*'))
self.create_button('1', lambda: self.calculate('1'))
self.create_button('2', lambda: self.calculate('2'))
self.create_button('3', lambda: self.calculate('3'))
self.create_button('-', lambda: self.calculate('-'))
self.create_button('0', lambda: self.calculate('0'))
self.create_button('.', lambda: self.calculate('.'))
self.create_button('+', lambda: self.calculate('+'))
self.create_button('C', self.clear_display)
self.create_button('=', self.evaluate)
def create_button(self, text, command=None):
button = Button(self.master, text=text, padx=20, pady=10, font=('Helvetica', 12), command=command)
button.grid(column=self.button_col, row=self.button_row)
self.button_col += 1
if self.button_col > 3:
self.button_col = 0
self.button_row += 1
def calculate(self, value):
self.display.insert(END, value)
def clear_display(self):
self.display.delete(0, END)
def evaluate(self):
try:
expression = self.display.get()
result = eval(expression)
self.display.delete(0, END)
self.display.insert(0, result)
except:
self.display.delete(0, END)
self.display.insert(0, 'Error')
root = Tk()
app = Calculator(root)
root.mainloop()
```
这个示例代码使用了 Python 的 tkinter 库来创建计算器界面和按钮,并实现了基本的计算功能,例如加、减、乘、除、平方、开方、三角函数等。你可以在此基础上添加更多的功能和按钮,例如常数、对数、指数函数等。注意:在实现计算器功能时,需要注意处理错误输入和异常情况,例如除以 0、无效输入等。