0
フィボナッチ数を見つけるためのコードを見つけました。入力がフィボナッチ数でない場合、プログラムは最も近い数値を出力します。次に、シリーズ内のその番号の位置を決定する方法は? N = 8場合と同様に、それは位置の出力が、私は、インデックスのようにあなたにインデックスを与えるPython(フィボナッチ数の位置)
def fibs():
a,b = 0,1
yield a
yield b
while True:
a,b = b,a+b
yield b
def nearest_fib(n):
# If n is a Fibonacci number return Yes and n
# Otherwise, return No and the nearest Fibonacci number
n = int(input("Please enter an integer:"))
for fib in fibs():
if fib == n:
return print("Yes! your integer is an fibonacci number")
elif fib < n:
prev = fib
else:
# Is n closest to prev or to fib?
if n - prev < fib - n:
return print("No! Your answer is not a fibonacci number"), prev
else:
return print("No! Your answer is not a fibonacci number"), fib
for i in range(1):
print(i,nearest_fib(i))
も値として。ここでもっと指導してもいいですか?私はforループの前に次のコードを含める、列挙型(fibs()): print(i、fib) – Tammy