python实例1-找质数/素数
质数定义:质数(prime number)又称素数。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
- 示例解决方案1
有很多方法可以解决这个问题,下面是一些例子:这是一个不同的功能分解来解决问题。
def get_number(prompt):
'''Returns integer value for input. Prompt is displayed text'''
return int(input(prompt)) def is_prime(number):
'''Returns True for prime numbers, False otherwise'''
# Edge Cases
if number == 1:
prime = False
elif number == 2:
prime = True
# All other primes
else:
prime = True
for check_number in range(2, (number / 2) + 1):
if number % check_number == 0:
prime = False
break
return prime def print_prime(number):
prime = is_prime(number)
if prime:
descriptor = ""
else:
descriptor = "not "
print(number, " is ", descriptor, "prime.", sep="", end="\n\n") # never ending loop while 1 == 1:
print_prime(get_number("Enter a number to check. Ctl-C to exit."))
- 示例解决方案2
import sys
number = input("Please enter a number" + "\n" + ">>>")
number = int(number)
if number > 0:
for x in range (2, number): #this range excludes number and 1, both of which number is divisible by
if number % x != 0: #If number isn't evenly divisible by x, start over with the next one
continue
elif number % x == 0: #If number is evenly divisible by x, it can't be prime
sys.exit("The number is not prime.")
sys.exit("The number is prime.") #number wasn't evenly divisible by any x, so it's prime
elif number == 0:
sys.exit("The number is not prime.") #According to the Google, 0 is not prime
else:#if number is less than 0, the number is not prime (according to the Google).
sys.exit("The number is not prime.")
- 示例解决方案3
我觉得这是最简洁的一种
def prime(n):
factor=[i for i in range(2,n) if n%i ==0]
if len(factor)==0:
print(str(n)+"is prime!")
elif n==2:print(str(n)+" " +"is prime!")
else:print("not prime!")
以上就是解决找质数的三种方法,碰到一个问题要多想如何更加简洁高效的实现功能,而不是实现了就行了,对自己要更高要求,这样才会进步的更快。
python实例1-找质数/素数的更多相关文章
- 【python实例】判断质数:for-break-else
""" for 变量 in 容器: 遍历--break 如果执行到了break语句, 则else不会被执行 else: break语句没有被执行时, 执行else &qu ...
- python找质数对
python找质数对 编写python脚本,输入一个正整数,输出有几对质数的和等于这个正整数. 例如输入一个正整数10,可以找出有“3+7=10”.“5+5=10”两个质数对的和为10. 要实现这个功 ...
- (转)Python实例手册
原文地址:http://hi.baidu.com/quanzhou722/item/cf4471f8e23d3149932af2a7 实在是太好的资料了,不得不转 python实例手册 #encodi ...
- 转载 python实例手册
python实例手册 #encoding:utf8# 设定编码-支持中文 0说明 手册制作: 雪松 更新日期: 2013-12-19 欢迎系统运维加入Q群: 198173206 # 加群请回答问题 请 ...
- java中求质数(素数)的问题
这篇笔记讲讲关于java中质数的问题. 一.什么是质数(素数)? 定义:质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数:否则称为合数.它可以有无限个数. 二.ja ...
- 找质数|计蒜客2019蓝桥杯省赛 B 组模拟赛(一)
找质数 思路:数据大,用线性筛,筛选素数表,最后查表:题目让我们查找相加等于n的两个数,那么我们就枚举1个素数a,在素数表中查找是否存在n-a也是素数. 注意事项:数据大,不宜用输入输出流,cout. ...
- 【转载】python实例手册
今天写爬虫的时候遇到了问题,在网上不停地查找资料,居然碰到两篇好文章: 1.python实例手册 作者:没头脑的土豆 另一篇在这:shell实例手册 python实例手册 #encoding:ut ...
- Python实例手册
在电脑中突然发现一个这么好的资料,雪松大神制作,不敢独享,特与大家共享.连他的广告也一并复制了吧! python实例手册 #encoding:utf8 # 设定编码-支持中文 0说明 手册制作: 雪松 ...
- Python实例100个(基于最新Python3.7版本)
Python3 100例 原题地址: http://www.runoob.com/python/python-100-examples.html git地址: https://gith ...
随机推荐
- psu补丁
1.查看命令 su - oracle opatch lspatches su - grid opatch lspatches
- Ubuntu打开中文输入法
方法/步骤: 1.从system settings 进入language support 在keyboard input method system 中选择 ibus (这里以ibus为例) 然后cl ...
- json格式字符串转字典
//json格式字符串转字典+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString { if (jsonStr ...
- JAVA并发编程的艺术 Java并发容器和框架
ConcurrentHashMap ConcurrentHashMap是由Segment数组结构和HashEntry数组结构组成. 一个ConcurrentHashMap里包含一个Segment数组, ...
- python修炼之路---面向对象
面向对象编程 面向对象编程:使用类和对象实现一类功能. 类与对象 类:类就是一个模板,模板里可以包含多个函数,函数里实现一些功能. 对象:是根据模板创建的实例,通过实例对象可以执行类中的函数. 面向对 ...
- 怎么画一条0.5px的边
编者按:本文由人人网FED发表于掘金,并已授权奇舞周刊转载 什么是像素? 像素是屏幕显示最小的单位,在一个1080p的屏幕上,它的像素数量是1920 1080,即横边有1920个像素,而竖边为1080 ...
- git学习补充
关系图 git checkout -- target 放弃 cached 中 对 target 文件内容已作的修改 git checkout . 放弃当前目录下对于 cached 的所有修改. 对比: ...
- JVM垃圾回收之CMS收集器
从前文JVM垃圾回收几种常见算法和常见收集器我们知道,CMS是老年代垃圾收集器.CMS 收集器主要关注系统停顿时间.CMS 是 Concurrent Mark Sweep 的缩写,意为并发标记清除,从 ...
- 小小程序员的生产力工具——2017款MacBook pro 13.3(附使用技巧和常用链接)
新买的2017款 MacBook pro 13.3 九号到了,第一次用苹果笔记本,用了两天基本熟悉了,各种软件也安装的差不多,把一些小技巧分享给大家.先放几张图 使用小常识,希望可以帮到您一:尽量 ...
- BigDecimal除法问题
BigDecimal类的主要功能是进行小数的大数计算,而且最重要的是可以精确到指定的四舍五入位数. 如果要进行四舍五入的操作,则必须依靠以下的方法:public BigDecimal divide(B ...