三角函数计算器用栈来写代码
时间: 2023-08-14 10:02:26 浏览: 53
当然可以使用栈来实现一个三角函数计算器的代码。下面是一个用栈实现的简单示例:
```python
import math
def calculate(expression):
stack = []
operators = {'+': operator.add, '-': operator.sub, '*': operator.mul, '/': operator.truediv}
for char in expression.split():
if char in operators:
b = stack.pop()
a = stack.pop()
result = operators[char](a, b)
stack.append(result)
elif char.startswith('sin'):
angle = float(char[3:])
stack.append(math.sin(math.radians(angle)))
elif char.startswith('cos'):
angle = float(char[3:])
stack.append(math.cos(math.radians(angle)))
elif char.startswith('tan'):
angle = float(char[3:])
stack.append(math.tan(math.radians(angle)))
else:
stack.append(float(char))
return stack[0]
expression = input("请输入三角函数表达式:")
result = calculate(expression)
print("计算结果:", result)
```
这个示例中,我们使用了一个栈来存储操作数和计算结果。在遍历输入的表达式时,我们根据不同的操作符或三角函数来执行相应的计算操作,并将结果压入栈中。最后,栈中剩下的唯一一个元素就是计算结果。
请注意,这个示例只涵盖了最基本的三角函数(sin、cos、tan)以及加法和减法运算。如果你需要更复杂的表达式计算,你可能需要对代码进行进一步的扩展和修改。