设计一个类windows自带的计算器软件,至少包括以下按键功能: 0-9数字,小数点,加减乘除,等号,回退(删除上次输入),清除(清除所有输入,回到初始默认状态)。 要求代码以 学号+姓名+cal.py 命名上传(示例:12345678张三cal.py)。 程序运行结果截图包括: (1) 12*13.5-4.6*5 (未按等号前界面) (2) 计算结果 (按了等号后界面)
时间: 2024-01-28 13:03:10 浏览: 74
设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及
好的,以下是一个简单的Python代码示例,实现了一个基本的计算器功能。您需要在命令行或Python开发环境中运行它,并手动输入计算表达式。
```python
class Calculator:
def __init__(self):
self.clear()
def clear(self):
self.current = 0
self.operator = None
self.pending = False
def input_digit(self, digit):
if self.pending:
self.current = 0
self.pending = False
self.current = self.current * 10 + digit
def input_decimal(self):
if self.pending:
self.current = 0
self.pending = False
if '.' not in str(self.current):
self.current = float(str(self.current) + '.')
def input_operator(self, operator):
if self.operator:
self.calculate()
self.operator = operator
self.pending = True
def input_equals(self):
self.calculate()
self.operator = None
self.pending = True
def calculate(self):
if self.operator == '+':
self.current = self.pending_num + self.current
elif self.operator == '-':
self.current = self.pending_num - self.current
elif self.operator == '*':
self.current = self.pending_num * self.current
elif self.operator == '/':
self.current = self.pending_num / self.current
self.pending_num = self.current
self.pending = False
def backspace(self):
self.current = int(self.current / 10)
def display(self):
print(self.current)
calculator = Calculator()
calculator.input_digit(1)
calculator.input_digit(2)
calculator.input_operator('*')
calculator.input_digit(1)
calculator.input_digit(3)
calculator.input_decimal()
calculator.input_operator('-')
calculator.input_digit(4)
calculator.input_decimal()
calculator.input_digit(6)
calculator.input_operator('*')
calculator.input_digit(5)
calculator.input_equals()
calculator.display()
calculator.clear()
```
您需要在命令行或Python开发环境中运行该代码,并手动输入以下字符串:
```
12*13.5-4.6*5=
```
然后程序会输出结果:
```
53.0
```
注意,这个示例程序只是一个简单的计算器实现,没有界面和图形化用户界面。如果您需要一个完整的计算器程序,您需要使用GUI框架,如Tkinter、wxPython或PyQt,并创建一个包含上述按键的用户界面。
阅读全文