我们在判断一个数tempval是否是素数时,需要将其对0~tempval的数取模(%),这个过程可以用迭代器实现
原题:
Write an iterator that iterates over the first n prime numbers. Use this to print out the first 10,000 primes.
def printfirstnprime(n):
from collections import Iterator
cout=0
primelist=[]
tempval=2
while(cout!=n):
it=iter([i for i in range(2,tempval)])
while True:
try:
i=next(it)
if(tempval%i==0):
tempval+=1
break
except StopIteration:
primelist.append(tempval)
cout+=1
tempval+=1
break
print(primelist)
def main():
printfirstnprime(1000)
if __name__ == '__main__':
main()