python中素数_Python中的基本素数生成器

从这个开始:def prime_gen(n):

primes = [2]

a = 2

while a < n:

counter = 0

for i in primes:

if a % i == 0:

counter += 1

if counter == 0:

primes.append(a)

else:

counter = 0

a = a + 1

print primes

你真的需要埃尔斯分店吗?没有

^{pr2}$

你需要柜台吗?不!在def prime_gen(n):

primes = [2]

a = 2

while a < n:

for i in primes:

if a % i == 0:

primes.append(a)

break

a = a + 1

print primes

你需要检查一下是否有更大的面积吗?没有def prime_gen(n):

primes = [2]

a = 3

while a < n:

sqrta = sqrt(a+1)

for i in primes:

if i >= sqrta:

break

if a % i == 0:

primes.append(a)

break

a = a + 1

print primes

是否确实要手动增加a?在def prime_gen(n):

primes = [2]

for a in range(3,n):

sqrta = sqrt(a+1)

for i in primes:

if i >= sqrta:

break

if a % i == 0:

primes.append(a)

break

这是一些基本的重构,应该会自动从你的手指中流出。在

然后测试重构后的代码,查看是否有错误并修复它:def prime_gen(n):

primes = [2]

for a in range(3,n):

sqrta = sqrt(a+1)

isPrime = True

for i in primes:

if i >= sqrta:

break

if a % i == 0:

isPrime = False

break

if(isPrime):

primes.append(a)

return primes

最后去掉了isPrime标志:def prime_gen(n):

primes = [2]

for a in range(3,n):

sqrta = sqrt(a+1)

for i in primes:

if i >= sqrta:

primes.append(a)

break

if a % i == 0:

break

return primes

现在你完成了!在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值