用python写一个科学计算器,并详细注释
时间: 2023-05-15 22:07:58 浏览: 70
非常感谢您的提问,我很乐意回答您的问题。以下是一个用 Python 编写的科学计算器的示例代码:
```
# 导入 math 模块
import math
# 定义一个函数,用于计算阶乘
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 定义一个函数,用于计算组合数
def combination(n, k):
return factorial(n) / (factorial(k) * factorial(n-k))
# 定义一个函数,用于计算排列数
def permutation(n, k):
return factorial(n) / factorial(n-k)
# 定义一个函数,用于计算平方根
def square_root(n):
return math.sqrt(n)
# 定义一个函数,用于计算立方根
def cube_root(n):
return n ** (1/3)
# 定义一个函数,用于计算正弦值
def sine(n):
return math.sin(n)
# 定义一个函数,用于计算余弦值
def cosine(n):
return math.cos(n)
# 定义一个函数,用于计算正切值
def tangent(n):
return math.tan(n)
# 定义一个函数,用于计算反正弦值
def arcsine(n):
return math.asin(n)
# 定义一个函数,用于计算反余弦值
def arccosine(n):
return math.acos(n)
# 定义一个函数,用于计算反正切值
def arctangent(n):
return math.atan(n)
# 主程序
while True:
print("请选择要进行的操作:")
print("1. 计算阶乘")
print("2. 计算组合数")
print("3. 计算排列数")
print("4. 计算平方根")
print("5. 计算立方根")
print("6. 计算正弦值")
print("7. 计算余弦值")
print("8. 计算正切值")
print("9. 计算反正弦值")
print("10. 计算反余弦值")
print("11. 计算反正切值")
print("12. 退出程序")
choice = input("请输入要进行的操作的编号:")
if choice == '1':
n = int(input("请输入要计算阶乘的数:"))
print("{} 的阶乘为:{}".format(n, factorial(n)))
elif choice == '2':
n = int(input("请输入要计算组合数的 n 值:"))
k = int(input("请输入要计算组合数的 k 值:"))
print("C({},{}) = {}".format(n, k, combination(n, k)))
elif choice == '3':
n = int(input("请输入要计算排列数的 n 值:"))
k = int(input("请输入要计算排列数的 k 值:"))
print("A({},{}) = {}".format(n, k, permutation(n, k)))
elif choice == '4':
n = float(input("请输入要计算平方根的数:"))
print("{} 的平方根为:{}".format(n, square_root(n)))
elif choice == '5':
n = float(input("请输入要计算立方根的数:"))
print("{} 的立方根为:{}".format(n, cube_root(n)))
elif choice == '6':
n = float(input("请输入要计算正弦值的角度(单位为弧度):"))
print("sin({}) = {}".format(n, sine(n)))
elif choice == '7':
n = float(input("请输入要计算余弦值的角度(单位为弧度):"))
print("cos({}) = {}".format(n, cosine(n)))
elif choice == '8':
n = float(input("请输入要计算正切值的角度(单位为弧度):"))
print("tan({}) = {}".format(n, tangent(n)))
elif choice == '9':
n = float(input("请输入要计算反正弦值的值:"))
print("asin({}) = {}".format(n, arcsine(n)))
elif choice == '10':
n = float(input("请输入要计算反余弦值的值:"))
print("acos({}) = {}".format(n, arccosine(n)))
elif choice == '11':
n = float(input("请输入要计算反正切值的值:"))
print("atan({}) = {}".format(n, arctangent(n)))
elif choice == '12':
break
else:
print("输入有误,请重新输入!")
```
以上是一个简单的科学计算器的示例代码,其中包含了一些常见的科学计算函数,如阶乘、组合数、排列数、平方根、立方根、正弦值、余弦值、正切值、反正弦值、反余弦值和反正切值等。在主程序中,用户可以根据需要选择要进行的操作,程序会根据用户的选择调用相应的函数进行计算,并输出计算结果。