提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
思路:
- 计算器操作
- 通过对输入的操作符进行判断,调用对应的函数完成对应的计算,如加、减、乘、除等。
- 对于三角函数、对数函数等高级函数,可以使用
math
模块内置的函数实现。
- 结果输出
- 输出计算器处理的结果,如果有可能,应该将结果四舍五入至小数点后若干位。
- 如果用户期望在进行下一项运算,询问用户是否需要继续使用计算器。
- 一下是对用Python写一个简单的科学计算器的简单讲解,主要是用条件控制分支(if语句)完成,(if语句)简单用法可以阅读我发布的文章:Python基础:条件控制分支(if语句的使用)篇。
一、math是什么?
math是Python内置的一个数学库,它提供了许多常用的数学函数和常量。使用 import math
可以引入该库。
以下是 math
库中一些常用的函数和常量的介绍:
- 数学常量
math.pi
:圆周率(3.1415926…)math.e
:自然常数 e(2.7182818…)
- 数学函数
math.sqrt(x)
:返回数值 x 的平方根。math.pow(x, y)
:返回数值 x 的 y 次方。math.exp(x)
:返回 e 的 x 次方。math.log(x, [base])
:返回数值 x 的对数,base是可选参数,默认为 e。math.log10(x)
:返回数值 x 的以 10 为底的对数。math.sin(x)
:返回 x 弧度的正弦值。math.cos(x)
:返回 x 弧度的余弦值。math.tan(x)
:返回 x 弧度的正切值。math.degrees(x)
:将弧度转换为角度。math.radians(x)
:将角度转换为弧度。
使用 dir(math)
可以查看 math
中提供的所有函数和常量。
二、代码实现实例:
# 用import方法导入math库
# math是常用的数学库
import math
print("欢迎使用科学计算器工具!")
while True: # 表示无限循环。也就是说,只要条件成立,就会一直执行循环内的语句。
print('''请选择您要进行的运算:
1. 加法(+)
2. 减法(-)
3. 乘法(*)
4. 除法(/)
5. 幂次运算(**)
6. 平方根运算(sqrt)
7. 正弦运算(sin)
8. 余弦运算(cos)
9. 正切运算(tan)
10. 退出''')
choice = input("请选择您要进行的运算(输入数字即可):")
# 加法(+)
if choice == '1':
num1 = float(input("请输入第一个数:"))
num2 = float(input("请输入第二个数:"))
print("运算结果为:", num1 + num2)
# 减法(-)
elif choice == '2':
num1 = float(input("请输入第一个数:"))
num2 = float(input("请输入第二个数:"))
print("运算结果为:", num1 - num2)
# 乘法(*)
elif choice == '3':
num1 = float(input("请输入第一个数:"))
num2 = float(input("请输入第二个数:"))
print("运算结果为:", num1 * num2)
# 除法(/)
elif choice == '4':
num1 = float(input("请输入第一个数:"))
num2 = float(input("请输入第二个数:"))
if num2 != 0:
print("运算结果为:", num1 / num2)
else:
print("除数不能为0,请重新输入!")
# 幂次运算(**)
elif choice == '5':
num1 = float(input("请输入底数:"))
num2 = float(input("请输入指数:"))
print("运算结果为:", num1 ** num2)
# 平方根运算(sqrt)
elif choice == '6':
num = float(input("请输入一个数:"))
if num >= 0:
print("运算结果为:", math.sqrt(num))
else:
print("负数不能进行平方根运算,请重新输入!")
# 正弦运算(sin)
elif choice == '7':
num = float(input("请输入一个角度(度数制):"))
print("运算结果为:", math.sin(math.radians(num)))
# 余弦运算(cos)
elif choice == '8':
num = float(input("请输入一个角度(度数制):"))
# math.radians(num) 是将角度 num 转换为弧度,
# math.cos() 函数的参数是弧度制的,所以需要先将角度转换为弧度,
# 然后再传入 math.cos() 中计算其余弦值。
print("运算结果为:", math.cos(math.radians(num)))
# 正切运算(tan)
elif choice == '9':
num = float(input("请输入一个角度(度数制):"))
print("运算结果为:", math.tan(math.radians(num)))
# 退出
elif choice == '10':
print("感谢使用科学计算器工具,欢迎下次再来!")
break
else:
print("无效的选择,请重新输入!")
总结
简单讲解了math库导入及其中一些常用的函数和常量的介绍,代码实现了基本的加、减、乘、除运算以及正弦函数、余弦函数、正切函数、自然对数函数等高级运算。如需了解进阶版科学计算器关注我后续文章。