马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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()
这个for循环有些看不明白 这里不是判断素数的吗? 为什么range的第二个参数是number的平方根啊?还有if返回的False也看不懂,求详解
本帖最后由 大宝陈 于 2020-12-6 12:34 编辑
还有一个小问题 if __name__ == '__main__' 在这是什么意思?
if __name__ == '__main__' 在这是如果直接运行这个程序(不是由其它程序导入运行的话)就执行下面的语句。
我已经学到面向对象编程了。
|