python作业第49讲问题救助
import mathdef get_prime(i):
while 1:
if is_prime(i):
yield i
i+=1
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 Fals
def solve():
total=2
for j in get_prime(3):
if j<2000000:
total+=j
else:
print(total)
return
if __name__ == '__main__':
solve()
最后的if __name__ == '__main__':什么作用啊 防止文件被当做模块加载时自动运行solve函数。 这个是判断是这个代码是源代码打开的还是其他代码调用的,比如说你的例子是写在b.py中,然后用a.py调用了b.py,那么对于b.py,__name__就不等于__main__了,所以不会执行solve方法,而如果是直接打开b.py,那就会直接执行solve()
页:
[1]