Python:每日一题008
题目:
判断101-200之间有多少个素数,并输出所有素数。
程序分析:
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
个人思路及代码:
li=[]
def is_prime(num):
n = int(sqrt(num))
for i in range(2,n+1):
if num % i == 0:
print("%s不是素数"%num)
break
else:
print("%s是素数" % num)
li.append(num)
for j in range(100,201):
is_prime(j)
print("100-200之间的素数个数是%s\n"%len(li),li)
分析:将判断一个数是否属于素数写成函数,用for循环判断一个数是否属于素数。
其他解答参考:
解答1:
print("----------判断101-200之间有多少个素数----------")
count = 0
for i in range(101, 200):
flag = 0
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0: # 如果不是素数
flag = 1
if flag == 0:
count += 1
print(i)
print("101-200之间有 %d 个素数" % count)
分析:采用flag的方式,设置标志,逐个输出素数
解答2:
print([i for i in range(101,200) if all(i%ii for ii in range(2,int(i**0.5)+1))])
分析:采用了列表解析式,限定了i的范围,同时用内置函数all判断,如果该数除以i**0.5+1余数为0则不是素数,all里面有0则if为false
解答3:
def isPrime(n):
if n <= 1:
return False
i = 2
while i*i <= n:
if n % i == 0:
return False
i += 1
return True
def prime_num(x,y):
prime_num_li= []
for i in range(x,y):
res = isPrime(i)
if res:
prime_num_li.append(i)
print("素数共有%s个,分别是:%s"%(len(prime_num_li),prime_num_li))
if __name__ == "__main__":
prime_num(100,201)
分析:比较完善的写法,采用函数式思想写出的代码。
(本文编号008,首发于2018年10月11日,修改于2018年10月13日)
Python:每日一题008的更多相关文章
- Python每日一题 008
题目 基于多线程的网络爬虫项目,爬取该站点http://www.tvtv.hk 的电视剧收视率排行榜 分析 robots.txt User-agent: Yisouspider Disallow: / ...
- Python每日一题 004
将 0001 题生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中. 代码 import redis import uuid # 创建实例 r=redis.Redis(&quo ...
- Python每日一题 003
将 002 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中. 代码 import pymysql import uuid def get_id(): for i in ra ...
- Python每日一题 002
做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用 Python 如何生成 200 个激活码(或者优惠券)? 在此生成由数字,字母组成的20位字 ...
- Python每日一题 009
题目 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. 代码 参照网络上代码 # coding: utf-8 import os import re # ...
- Python每日一题 007
题目 你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认为每篇日记最重要的词. 很难客观的说每篇日记中最重要的词是什么,所以在这里就仅仅是将每篇日记中出 ...
- Python每日一题 006
题目 你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小. 如果只是单纯的通过将图片缩放到iPhone5分辨率大小,显然最后呈现出来的效果会很糟糕.所以等比例缩放到长( ...
- Python每日一题 005
任一个英文的纯文本文件,统计其中的单词出现的个数. 代码 # coding:utf-8 import re def get_word(filename): fp=open(filename," ...
- Python每日一题 001
Github地址:https://github.com/Yixiaohan/show-me-the-code Talk is Cheap, show me the code. --Linus Torv ...
随机推荐
- 文件服务之二:ftp协议
FTP连接 命令连接 传输命令(客户端发给服务端的命令),服务端的21/tcp 数据连接 传输数据(传输数据时建立,数据传输完拆除) 数据链接的建立方法:主动.被动 主动模式(PORTstyle服务器 ...
- 注意source folder与folder是不同的,避免404错误
在整合ssm框架的时候,程序和配置文件都没写错,tomcat也部署成功了,但在访问的时候一直404,web项目自带的index.jap却能正常访问,一直找不到原因,后来发现建立放配置文件的文件夹con ...
- Python第10天
装饰器:本质上是函数,为其他函数添加附件功能. 装饰器 = 高阶函数 + 函数嵌套 + 闭包 原则(开放封闭原则):1,不修改被修饰函数代码.2,不修改被修饰函数调用方式. @方法名
- 云栖大会day2 下午
下午内容普遍比较水 参与了intel的宣讲会,都能把人听睡着了 又回来听了开发者宣讲会 讲了人的成才选择,造势之人 顺势之人 逐流之人 我认为,跟人的能力关联不大,跟眼界关联很大, flink 参与到 ...
- cxgrid属性说明,每次用的时候费时费力查找。
由层得到数据表名: procedure TFB_PatientWaiting.cxgrdbtblvwGrid1DBTableView_MyPatienWaitingDblClick( Sender: ...
- Linux安装OPENJDK配置环境变量
# yum search openjdk 回车 找到open开发者环境jdk版本复制它的名字 安装java-1.8.0-openjdk-headless.x86_64 yum install j ...
- 恢复oracle 11g 的System及sys用户的密码
进入E:\app\orcl\product\11.2.0\dbhome_1\database目录下找到PWDorcl.ora备份后删除文件,orcl是数据库的实例名 以管理员身份打开cmd,执行 or ...
- Servlet中清除session
HttpSession sessions = request.getSession(false);//防止创建Session if(sessions == null){ response.sendRe ...
- jquery 事件的触发与绑定
bind事件绑定: live事件绑定: hover事件绑定: one事件绑定 toggle事件绑定:
- vue---canvas实现二维码和图片合成的海报
应项目需求,要一张宣传页面上加一个太阳码合成一张宣传海报,用户用微信可以识别进入微信小程序. 1. npm安装 npm install html2canvas --save //html转canv ...