今天整理文件的时候,偶然找到了自己小时候学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均为常数且为整数)的形式输出(效果如下图)。

小学数学辅助神器:Python_信息奥赛

#本文中输入的数字由随机数生成器生成,无任何意义

  代码二:九九乘法表。

              这段代码运用了二层循环的逻辑,打印了从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()

代码运行结果如下:

小学数学辅助神器:Python_数学_02

  代码三:质数判断器。

它的判断方式与代码一一样,使用了 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_python_03

在分享这些小学数学计算工具时,我深感自己的不足,同时也感受到了Python的强大与魅力。希望广大阅者能够批评指正,谢谢!