2.编程实现一个简单的计算器。此计算器应具备基本计算功能:加法、减法、乘法、除法、阶乘等运算,请利用模块化程序设计的思想设计实现。提示:可利用有参有返回值函数实现计算器的各项功能。 注意,需要给出代码注释
时间: 2023-12-06 19:45:05 浏览: 87
下面是Python语言实现一个简单的计算器的代码,其中包含加法、减法、乘法、除法、阶乘等运算:
```python
# 定义加法函数
def add(x, y):
return x + y
# 定义减法函数
def subtract(x, y):
return x - y
# 定义乘法函数
def multiply(x, y):
return x * y
# 定义除法函数
def divide(x, y):
return x / y
# 定义阶乘函数
def factorial(x):
if x == 0: # 0的阶乘为1
return 1
else:
return x * factorial(x-1)
print("请选择要进行的运算:")
print("1.加法")
print("2.减法")
print("3.乘法")
print("4.除法")
print("5.阶乘")
# 用户输入选项
choice = input("请输入选项(1/2/3/4/5): ")
if choice in ('1', '2', '3', '4'): # 加、减、乘、除运算
num1 = float(input("请输入第一个数字: "))
num2 = float(input("请输入第二个数字: "))
if choice == '1':
print(num1, "+", num2, "=", add(num1, num2))
elif choice == '2':
print(num1, "-", num2, "=", subtract(num1, num2))
elif choice == '3':
print(num1, "*", num2, "=", multiply(num1, num2))
elif choice == '4':
if num2 == 0: # 除数不能为0
print("除数不能为0")
else:
print(num1, "/", num2, "=", divide(num1, num2))
elif choice == '5': # 阶乘运算
num = int(input("请输入一个正整数: "))
print(num, "的阶乘为", factorial(num))
else:
print("非法输入")
```
代码注释如下:
- 第1行:定义了一个名为`add`的函数,用于实现加法运算,接收两个参数`x`和`y`,返回它们的和。
- 第4行:定义了一个名为`subtract`的函数,用于实现减法运算,接收两个参数`x`和`y`,返回它们的差。
- 第7行:定义了一个名为`multiply`的函数,用于实现乘法运算,接收两个参数`x`和`y`,返回它们的积。
- 第10行:定义了一个名为`divide`的函数,用于实现除法运算,接收两个参数`x`和`y`,返回它们的商。
- 第14-18行:定义了一个名为`factorial`的函数,用于计算阶乘,接收一个参数`x`,递归调用自身,返回`x`的阶乘。
- 第20-25行:输出可选的运算类型。
- 第28行:让用户输入运算类型。
- 第30-31行:如果用户选择加、减、乘、除运算,则让用户输入两个数字,进行相应的运算,并输出结果。
- 第33行:如果用户选择阶乘运算,则让用户输入一个正整数,进行阶乘计算,并输出结果。
- 第35-40行:如果用户输入的选项不在1-5之间,则输出“非法输入”。
阅读全文