我的范围是 1-50,我必须找出哪些是斐波那契数,然后我必须找出这些数字中哪些包含数字 1 和 2 pyth
I have a range from 1-50 and I had to find out which are Fibonacci number after that I have to find which of these numbers contain number 1 and 2 pyth
我有一组从 1 到 50 的数字,我必须从这些数字中找出哪些是斐波那契数,然后我必须找出这些数字中哪些包含数字 1 和 2。
例如,在我的代码中,我的斐波那契数是 0、1、2、3、5、8、13、21、34 我已经编写了代码,但我无法添加问题的最后一部分,所以它发现了这些数字中哪些包含数字 1 或 2。
这是我的代码
def isPerfectSquare(x):
s = int(math.sqrt(x))
return s * s == x
def isFibonacci(n):
return isPerfectSquare(5 * n * n + 4) or isPerfectSquare(5 * n * n - 4)
for i in range(0, 51):
if isFibonacci(i) == True:
print(i, "is a Fibonacci Number")
else:
print(i, "is a not Fibonacci Number ")
for q in range(1, 51):
if isFibonacci(i) == True and '1' in i and '2' in i:
print(q)
else:
print('Error')
结果是这样的,它给了我所有这些数字 0、1、2、3、5、8、13、21、34 作为斐波那契,其余的并不完美,但它一直在给出我的错误,我想做的是编写一个循环,其中包含所有斐波那契数,例如这些 0、1、2、3、5、8、13、21、34,并且在数字中包含 1 和 2打印出来但它只是将所有内容打印为错误。
for q in range(1, 51):
if isFibonacci(q) == True and '1' in str(q) and '2' in str(q):
print(q)
else:
print('Error')
- 这个循环的变量是
q
,不是i
。
- 您必须使用
str(...)
将数字转换为字符串。
我有一组从 1 到 50 的数字,我必须从这些数字中找出哪些是斐波那契数,然后我必须找出这些数字中哪些包含数字 1 和 2。
例如,在我的代码中,我的斐波那契数是 0、1、2、3、5、8、13、21、34 我已经编写了代码,但我无法添加问题的最后一部分,所以它发现了这些数字中哪些包含数字 1 或 2。 这是我的代码
def isPerfectSquare(x):
s = int(math.sqrt(x))
return s * s == x
def isFibonacci(n):
return isPerfectSquare(5 * n * n + 4) or isPerfectSquare(5 * n * n - 4)
for i in range(0, 51):
if isFibonacci(i) == True:
print(i, "is a Fibonacci Number")
else:
print(i, "is a not Fibonacci Number ")
for q in range(1, 51):
if isFibonacci(i) == True and '1' in i and '2' in i:
print(q)
else:
print('Error')
结果是这样的,它给了我所有这些数字 0、1、2、3、5、8、13、21、34 作为斐波那契,其余的并不完美,但它一直在给出我的错误,我想做的是编写一个循环,其中包含所有斐波那契数,例如这些 0、1、2、3、5、8、13、21、34,并且在数字中包含 1 和 2打印出来但它只是将所有内容打印为错误。
for q in range(1, 51):
if isFibonacci(q) == True and '1' in str(q) and '2' in str(q):
print(q)
else:
print('Error')
- 这个循环的变量是
q
,不是i
。 - 您必须使用
str(...)
将数字转换为字符串。