python计算器模型
时间: 2023-08-13 18:14:02 浏览: 78
如果您想创建一个更高级的 Python 计算器,可以使用模型-视图-控制器(MVC)设计模式。MVC 模式将应用程序分为三个主要部分:
- 模型:处理数据和计算逻辑。在计算器中,模型将处理用户输入的数字和操作符,并计算结果。
- 视图:处理用户界面和用户输入。在计算器中,视图将显示数字和操作符的按钮,并接受用户输入。
- 控制器:协调模型和视图之间的交互。在计算器中,控制器将处理用户输入,并将其传递给模型进行计算。
以下是一个简单的 Python 计算器示例,演示了 MVC 模式:
```python
# 模型
class CalculatorModel:
def __init__(self):
self.num1 = 0
self.operator = ''
self.num2 = 0
self.result = 0
def calculate(self):
if self.operator == '+':
self.result = self.num1 + self.num2
elif self.operator == '-':
self.result = self.num1 - self.num2
elif self.operator == '*':
self.result = self.num1 * self.num2
elif self.operator == '/':
self.result = self.num1 / self.num2
# 视图
class CalculatorView:
def __init__(self, controller):
self.controller = controller
def display(self):
print("Calculator")
print("==========")
print("1. Enter first number")
print("2. Enter operator (+, -, *, /)")
print("3. Enter second number")
print("4. Calculate result")
print("5. Exit")
def get_input(self):
choice = input("Enter choice (1-5): ")
if choice == '1':
self.controller.set_num1(float(input("Enter first number: ")))
elif choice == '2':
self.controller.set_operator(input("Enter operator (+, -, *, /): "))
elif choice == '3':
self.controller.set_num2(float(input("Enter second number: ")))
elif choice == '4':
self.controller.calculate()
elif choice == '5':
self.controller.exit()
else:
print("Invalid choice")
# 控制器
class CalculatorController:
def __init__(self):
self.model = CalculatorModel()
self.view = CalculatorView(self)
def run(self):
while True:
self.view.display()
self.view.get_input()
def set_num1(self, num1):
self.model.num1 = num1
def set_operator(self, operator):
self.model.operator = operator
def set_num2(self, num2):
self.model.num2 = num2
def calculate(self):
self.model.calculate()
print("Result: ", self.model.result)
def exit(self):
print("Exiting calculator...")
exit()
# 运行计算器
calculator = CalculatorController()
calculator.run()
```
此计算器使用了 MVC 模式,并包括模型(`CalculatorModel`)、视图(`CalculatorView`)和控制器(`CalculatorController`)。运行示例后,您将被提示选择数字和操作符,并在选择计算结果时显示结果。
阅读全文