管理学院人工智能蹭课一

虽然网络课程很多,但是在家学习效率极低,蹭学妹的网课还能蹭作业,还能有人监督,真好。
第一节课老师很认真的分享了他的成长、求学、求职过程,然后留了一个python的小作业:输入两个数,输出他们之间所有质数和总共多少质数。
我的代码,感觉我写的很麻烦`

import math

a = int(input ("输入第一个数:"));

b = int(input ("输入第二个数:"));

print("找出两数之间的所有质数");

count=0;

if (a>b and b!=1):               #考虑边界条件并且边界不为1

    a,b=b,a#python 中可以直接交换

    for i in range(a,b+1):

       for j in range(2,int(math.sqrt(i))+1):

           if i%j == 0:

               break

       else:

           count=count+1;

           print("第%d个质数为%d"% (count, i));

elif (a<b and a==1):#考虑a=1的情况

    for i in range(2,b+1):

       for j in range(2,int(math.sqrt(i))+1):#质数算法原理

           if i%j == 0:

               break

       else:

           count=count+1;

           print("第%d个质数为%d"% (count, i));

elif (a>b and b==1):#考虑b=1的情况

    a,b=b,a

    for i in range(2,b+1):

       for j in range(2,int(math.sqrt(i))+1):

           if i%j == 0:

               break

       else:

           count=count+1;

           print("第%d个质数为%d"% (count, i));

else:  

    for i in range(a,b+1):

       for j in range(2,int(math.sqrt(i))+1):

           if i%j == 0:

               break

       else:

           count=count+1;

           print("第%d个质数为%d"% (count, i));

print("%d和%d之间的质数总共有%d个"% (a,b,count));

学妹给了老师的主旨思想,写下来确实比我自己的好很多

a = int(input ("输入第一个数:"));
b = int(input ("输入第二个数:"));
print("找出两数之间的所有质数");
count=0;
if a>b:
    a,b=b,a
    for i in range(a,b+1):
        check=1#认为此数是质数
        for j in range(2,i):
            if i%j==0:
                check=0#认为此数不是质数
                break
        if (i>=2 and check==1):
            count=count+1;
            print("第%d个质数为%d"% (count, i))                            
else:
    for i in range(a,b+1):
        check=1#认为此数是质数
        for j in range(2,i):
            if i%j==0:
                check=0#认为此数不是质数
                break
        if (i>=2 and check==1):
            count=count+1;            
            print("第%d个质数为%d"% (count, i))           
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值