杨一二四 发表于 2020-4-8 21:30:54

return True return False

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()


不太理解def is_prime(number):函数,最后的两个return True,return False。为什么会有这两个return 语句?他们的作用是什么?

十月故里 发表于 2020-4-8 21:37:57

首先你看最后一个return False,他是在if number > 1:这一层缩进的,表示number<=1的情况都表明这个是不是一个素数,
倒数第二个return这里是if number > 1这个分支里面的,表示如果上面的if和for都不满足的时候,证明这个数是一个素数(还是质数忘了题目了)
要记得,执行return就会跳出当前执行的结构体
页: [1]
查看完整版本: return True return False