质数定义:质数(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-找质数/素数的更多相关文章

  1. 【python实例】判断质数:for-break-else

    """ for 变量 in 容器: 遍历--break 如果执行到了break语句, 则else不会被执行 else: break语句没有被执行时, 执行else &qu ...

  2. python找质数对

    python找质数对 编写python脚本,输入一个正整数,输出有几对质数的和等于这个正整数. 例如输入一个正整数10,可以找出有“3+7=10”.“5+5=10”两个质数对的和为10. 要实现这个功 ...

  3. (转)Python实例手册

    原文地址:http://hi.baidu.com/quanzhou722/item/cf4471f8e23d3149932af2a7 实在是太好的资料了,不得不转 python实例手册 #encodi ...

  4. 转载 python实例手册

    python实例手册 #encoding:utf8# 设定编码-支持中文 0说明 手册制作: 雪松 更新日期: 2013-12-19 欢迎系统运维加入Q群: 198173206 # 加群请回答问题 请 ...

  5. java中求质数(素数)的问题

    这篇笔记讲讲关于java中质数的问题. 一.什么是质数(素数)? 定义:质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数:否则称为合数.它可以有无限个数. 二.ja ...

  6. 找质数|计蒜客2019蓝桥杯省赛 B 组模拟赛(一)

    找质数 思路:数据大,用线性筛,筛选素数表,最后查表:题目让我们查找相加等于n的两个数,那么我们就枚举1个素数a,在素数表中查找是否存在n-a也是素数. 注意事项:数据大,不宜用输入输出流,cout. ...

  7. 【转载】python实例手册

    今天写爬虫的时候遇到了问题,在网上不停地查找资料,居然碰到两篇好文章: 1.python实例手册   作者:没头脑的土豆 另一篇在这:shell实例手册 python实例手册 #encoding:ut ...

  8. Python实例手册

    在电脑中突然发现一个这么好的资料,雪松大神制作,不敢独享,特与大家共享.连他的广告也一并复制了吧! python实例手册 #encoding:utf8 # 设定编码-支持中文 0说明 手册制作: 雪松 ...

  9. Python实例100个(基于最新Python3.7版本)

    Python3 100例 原题地址:   http://www.runoob.com/python/python-100-examples.html    git地址:    https://gith ...

随机推荐

  1. 22_3mybaits——连接池

    1.连接池 我们在实际开发中都会使用连接池. 因为它可以减少我们获取连接所消耗的时间. 2.mybatis中的连接池 mybatis连接池提供了3种方式的配置: 配置的位置: 主配置文件SqlMapC ...

  2. Codeforces 984 扫雷check 欧几里得b进制分数有限小数判定 f函数最大连续子段

    A /* Huyyt */ #include <bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) #define mkp(a,b) ...

  3. 【LeetCode】堆 heap(共31题)

    链接:https://leetcode.com/tag/heap/ [23] Merge k Sorted Lists [215] Kth Largest Element in an Array (无 ...

  4. 前端每日实战:158# 视频演示如何用纯 CSS 创作一个雨伞 toggle 控件

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/pxLbjv 可交互视频 此视频是可 ...

  5. 【转】H5 浏览器和 webview 后退缓存机制

    来源:https://juejin.im/entry/588b44a08fd9c544813ed5b3 一.背景 用户点击浏览器工具栏中的后退按钮,或者移动设备上的返回键时,或者JS执行history ...

  6. Django 视图层和模板层

    目录 一.网站首页和404页面的路由配置 1. 网站首页路由 2. 404页面 二.Django视图层 1. 小白必会三板斧 (1)HttpResponse (2)render (3)redirect ...

  7. UIScrollView的简单使用

    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds]; //将scrollView添加到当前 ...

  8. 【NOIP2016提高A组集训第13场11.11】最大匹配

    题目 mhy12345学习了二分图匹配,二分图是一种特殊的图,其中的点可以分到两个集合中,使得相同的集合中的点两两没有连边. 图的"匹配"是指这个图的一个边集,里面的边两两不存在公 ...

  9. MyEclipse更改项目名web发布名字不改问题

    步骤: 右键项目-->选择propertis-->MyEclipse-->Project Facets-->Web-->右侧更改Web Context-root 如下图:

  10. python中的类,对象,实例,继承,多态

    ------------恢复内容开始------------ 类 (通俗来讲是 属性和方法的集合) 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法. 对象,即为类 ...