利用迭代器和range生成器,计算100以内的质数,要求给出注释和验证方法
时间: 2023-12-14 07:37:47 浏览: 78
以下是利用迭代器和range生成器计算100以内的质数的Python代码:
```python
def is_prime(n):
"""
判断是否为质数
:param n: 待判断的数
:return: True或False
"""
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
def primes():
"""
生成器函数,用于生成100以内的质数
:return: 100以内的质数
"""
for i in range(2, 101):
if is_prime(i):
yield i
# 调用primes函数并打印结果
for prime in primes():
print(prime)
```
验证方法如下:
我们从2开始,依次判断每个数是否为质数。对于每个数n,判断方法为:从2到n的平方根范围内的所有数,依次判断是否能够整除n,如果存在整除因子,则n不是质数。如果所有数都不能整除n,则n是质数。在判断完100以内的所有数之后,将所有质数通过生成器函数返回,并通过for循环逐一打印出来,从而验证计算结果的正确性。
阅读全文