函数的定义和调用,设计一个函数找前五个默尼森数

img

以下代码应该较好理解:

  1. 判断是否为素数
  2. 判断是否满足默尼森数,有5个满足就返回值
import math
def isprime(x):
    if x == 2:
        return True
    elif x < 2:
        return False
    else :
        for i in range(2,int(math.sqrt(x))+2):
            if x % i == 0:
                return False
            else:
                return True

def monison():
    monison_list = []
    for i in range(100):
        if isprime(i) == True and isprime(pow(2, i) - 1) == True:
            monison_list.append(pow(2, i) - 1)
            if len(monison_list) == 5:
                return monison_list

monison()

[3, 7, 31, 127, 511]