之前老是跟大家说看久了Python,总感觉就像是很多的数学公式运算,大家一致觉得只是一点点像,那今天跟大家直接就说下叫“数学”算法的内容,这样大家再来品鉴下,是不是可以贯通使用的内容呢?话不多说了,一起来了解下吧~
数学运算方法
除了上面的基础算术运算符,还支持很多数值类型的运算符,例如:取反(~)、位移()、位与(&)、位异或(^)、逻辑与(and)、逻辑或(or)。
除此之外,还有几个python的内置数学函数:
- pow():求幂
- abs():求绝对值
- round():四舍五入
- int():取整(截去小数部分)
- float():转换成浮点数
- oct():十进制整数转换成八进制
- hex():十进制整数转换成十六进制整数
- bin():十进制整数转换成二进制
在Python里还有专门因为数学而创造出来的模块,因此,大家在学习python之前肯定也是经历过数学阶段的吧
python数学算法题举例
斐波那契数列
# 斐波那契数列 sum = 0 num = 1 i = 0 while i < 10: nth = sum + num print(nth, end=" , ") # 更新值 sum = num num = nth i+= 1 结果: 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 , 89
阿姆斯特朗数
# 如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153。 # 1000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407。 sum = int(input("输入一个数")) sumlen = len(str(sum)) sumNum = 0 for i in str(sum): sumNum +=int(i) ** sumlen if sum == sumNum: print("这个数的阿姆斯特郎数") else: print("不是阿姆斯特郎数") sums = int(input("请输入要查找到多少的阿姆斯特郎数")) sum = 0 while True: num = 0 n = len(str(sum)) for i in str(sum): num += int(i)**n if sum == num: print("%d\t这是个阿姆斯特朗数"%sum) if sum >sums: break sum +=1