|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 小丑9 于 2022-3-24 17:10 编辑
- import math
- def is_prime(number):
- if number > 1:
- if number == 2:
- return True
- if number % 2 == 0:
- return False
- for current in range(3, int(math.sqrt(number) + 1), 2):
- if number % current == 0:
- return False
- return True
- return False
- def get_primes(number):
- while True:
- if is_prime(number):
- yield number
- number += 1
- def solve():
- total = 2
- for next_prime in get_primes(3):
- if next_prime < 2000000:
- total += next_prime
- else:
- print(total)
- return
- if __name__ == '__main__':
- solve()
复制代码
还有第23行,get_primes()函数它返回的不是一个 int 型吗?int型不是不可迭代的吗
本帖最后由 isdkz 于 2022-3-24 17:15 编辑
def get_primes(number):
while True:
if is_prime(number):
yield number
number += 1
函数里面 使用到 yield ,这种函数返回的是一个生成器,生成器是可迭代的,
生成器的内容你可以看一下这个:https://fishc.com.cn/thread-60398-1-1.html
|
|