zoukankan      html  css  js  c++  java
  • python3练习100题——012

    今天继续,答案都通过py3测试。

    原题链接:http://www.runoob.com/python/python-exercise-example12.html

    题目:判断101-200之间有多少个素数,并输出所有素数。

    程序分析判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

    我的代码:

    def primes():
        li=[]            
        for m in range(101,200):
            state=1
            x=int(m**0.5)      #可以不用math.sqrt()比较省事~
            for i in range(2,x+1):
                if m%i==0:      #注意是余数为0的数,才不是素数,需要break
                    state=0
                    break
            if state==1:
                li.append(m)
        print("total:%d" %len(li))
        print(li)
                    

    思考:

    需要一个state变量,来判断状态。

    在每个循环开始,state=1,也就是默认一个数的状态是1,表示它是素数。

    只有在if语句判断成功的时候,state改为0,表示这个数不是素数了。if语句要循环判断很多次,可能其中只有1次满足了。设置state可以达到要求:只有一次满足就不是素数。

    接下来再经过一个if语句,可以把所有state=1的数加入列表中。

  • 相关阅读:
    ip netns
    PPT动手动脑1
    暑假作业日总结
    暑假作业日总结
    课前测试总结
    暑假作业日总结
    大二上每日总结
    暑假作业日总结
    大二上每日总结
    暑假作业日总结
  • 原文地址:https://www.cnblogs.com/drifter/p/9111022.html
Copyright © 2011-2022 走看看