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 ...
随机推荐
- mysql python 交互
一.安装 sudo apt-get install pymysql sudo pip3 install pymysql Connection对象 用于建立与数据库的连接 创建对象:调用connect( ...
- vue项目中icon图标的完美引入
第一步: 进入阿里矢量图标库并登录 地址:https://www.iconfont.cn 第二步: 选择项目需要的图标添加到库 第三步: 选完之后点击右上角的购物车,打开后点击添加到项目,没有就自己建 ...
- EF core2.1+MySQL报错'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalParameterBuilder..ctor(Microsoft.EntityFrameworkCore.Storage.IRelationalTypeMapper)
一.使用.net core 2.0 EF mysql 运行一直报错如下: An unhandled exception occurred while processing the request. M ...
- linux网编 静态链接库
-L 指定动态库路径 -l 指定 以libXXXX.a命名的库文件
- leetcode每日刷题计划-简单篇day4
腰酸腿疼肝数模 被教育说代码风格像是小学生而且有点冗余 QAQ之前面试官好像也说过orz努力改努力改 今天把前两天跳过的vector给简单看了一下补上了 Num 14 最长公共前缀 Longest C ...
- sqoop 问题以及 小tips
1. Sqoop import 任务里把原来NULL的转化成字符串‘null’了. 解决方法: 先: alter table ${table_name} SET SERDEPROPERTIES('se ...
- Oracle数据库row_number详解<转>
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW ...
- Android短信过滤项目中的观察者模式
观察者模式: 观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新. 观察者模式提供了一种对象设计, 让主题和观察者之间松耦合.主题只知道观察者实现了某个接 ...
- python实战:用70行代码写了一个山炮计算器!
python实战训练:用70行代码写了个山炮计算器! 好了...好了...各位因为我是三年级而发牢骚的各位伙伴们,我第一次为大家插播了python的基础实战训练.这个,我是想给,那些python基础一 ...
- BaseRecycleViewAdapterHelper
BaseRecycleViewAdapterHelper 官方文档 git说明文档 1.English 2.中文