今天整理文件的时候,偶然找到了自己小时候学python信奥还有海龟绘图那些东西的代码,在其中,我发现了一些可以被称之为小学数学辅助神器的代码,因此临时写了一篇文章,分享一下。
代码一:分解质因数。
它的原理很简单,就是把2到该数字一个个除一下,看商是不是整数。你可能对其不屑一顾,但当要处理的数字非常大时,它的优势就显现出来了。
代码如下:
target=int(input('输入一个大于1的正整数:'))
print(target,'= ',end='')
flag=0
while True:
if flag==1:
break
for i in range(2,int(target+1)):
if target%i==0:
print(i,end='')
if target==i:
flag=1
break
print('*',end='')
target=target/i
break
比如我们随便输入一个数,它便会将因数按从大到小的顺序以x = a*b*c*.(x为输入值,a,b,c均为常数且为整数)的形式输出(效果如下图)。
#本文中输入的数字由随机数生成器生成,无任何意义
代码二:九九乘法表。
这段代码运用了二层循环的逻辑,打印了从1x1到9x9的乘法表,它的优点在于只会打印一遍axb而不打印bxa。干净利落,代码如下:
for i in range(1,10):
for j in range(1,i+1):
print('%s×%s=%-3s'%(j,i,i*j),end=' ')
print()
代码运行结果如下:
代码三:质数判断器。
它的判断方式与代码一一样,使用了 else
语句与 while
循环一起,确保在循环正常结束后(即没有找到能整除的数)才会输出该数字是质数。如果循环因找到能整除的数而提前结束,break
语句会终止循环,并输出该数字不是质数。代码如下:
num = int(input("请输入一个数字:"))
if num <= 1:
print(num, "不是质数")
elif num == 2:
print(num, "是质数")
elif num == 3:
print(num, "是质数")
elif num % 2 == 0 or num % 3 == 0:
print(num, "不是质数")
else:
i = 5
while i * i <= num:
if num % i == 0 or num % (i + 2) == 0:
print(num, "不是质数")
break
i += 6
else:
print(num, "是质数")
考虑到有两种情况,我进行两次输入:
在分享这些小学数学计算工具时,我深感自己的不足,同时也感受到了Python的强大与魅力。希望广大阅者能够批评指正,谢谢!