为了账号安全,请及时绑定邮箱和手机立即绑定

python找2-100之间的素数并输出。你会用什么算法来解决这个问题?

python找2-100之间的素数并输出。你会用什么算法来解决这个问题?

yuantongxin 2016-04-20 09:54:36
找2-100之间的素数并输出。你会用什么算法来解决这个问题?
查看完整描述

2 回答

已采纳
?
清波

TA贡献165条经验 获得超90个赞

import math


def isprime(n):
    if not isinstance(n,int) or n<=1:
        return False
    for i in range(2,int(math.sqrt(n)+1)):
        if n % i ==0:
            return False
    return True


result=[x for x in range(2,101) if isprime(x)]

解释, 还是建议先定义判断函数 ,命名为 pythonic 风格 isprime(), 然后用 列表推导式 生成结果吧, 或者将列表表达式包装为函数?

def prime_list(start,end):
    def isprime(n):
        if not isinstance(n,int) or n<=1:
            return False
        for i in range(2,int(math.sqrt(n)+1)):
            if n % i ==0:
                return False
        return True
    return [x for x in range(start,end+1) if isprime(x)]
    
result = prime_list(2,100)

基本就这样吧

查看完整回答
1 反对 回复 2016-04-20
?
_潇潇暮雨

TA贡献646条经验 获得超225个赞

# coding: utf-8

def isPrime(number):
    for x in range(2,number/2):
        if(number % x == 0):
            return False
    return True

a = []
for x in range(2,101):
    if(isPrime(x)):
        a.append(x)

print a


查看完整回答
1 反对 回复 2016-04-20
  • 2 回答
  • 1 关注
  • 3346 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信