没毛病,封装两个函数就好了
def isprime(n):
if n<2:
return False
else:
for i in range(2,n):
if n%i==0:
return False
return True
def fibo(n):
if n < 1:
return False
elif n==1:
return True
a0 = 1
a1 = 1
a2 = a0+a1
while a2<=n:
if a2 == n:
return True
a0 = a1
a1 = a2
a2 = a0+a1
return False
def fiboprime(n):
return isprime(n) and fibo(n)
if __name__ == "__main__" :
n = int(input("输入一个整数:"))
if fiboprime(n):
print(n,"是斐波那契素数")
else:
print(n,"不是斐波那契素数")
判断素数和判断斐波那契数本来就是两个不相干的功能,你这样设计思路是对的
你如果想单独写成一个函数,其实就再加一个函数按顺序调用你写好的两个函数就行了,其实就是换个皮
你硬把两个函数里的代码都copy出来重新塞一个函数里,没有必要