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的数加入列表中。

  • 相关阅读:
    go爬虫
    node简单爬虫request简单运用
    Centos7.4安装Mysql5.6
    HTML本地资源读取!
    node-request模块
    react中使用AntDesign库 --- babel-plugin-import 配置
    Django 模型(数据库)
    TypeScript--安装依赖,vscode配置ts自动转换成js文件
    python爬虫
    nodejs爬虫简单实现
  • 原文地址:https://www.cnblogs.com/drifter/p/9111022.html
Copyright © 2011-2022 走看看