Python! Az alábbi for loop miért nem azt adja amit kérek?
Egy Fibonacci-sorozat kalkulátornál mit rontok el itt:
i = 0
number = int(input("Enter your number here: "))
Fibon = 0
for i in range(0, number):
Fibon += i
i += 1
print(Fibon)
--
Az általam megadott szám Fibonacci-értékét kéne kiadja. Szépen adogatja hozzá az előtte álló számokat. Valamiért mégis rossz eredményre vezet, miért?
Ez nem Fibonacci sorozat, hanem összeadod a számokat 0-tól n-1-ig. Ahhoz, hogy Fibonacci sorozat legyen, ahhoz a sorozat két előző tagját kell összeadnod, hogy megkapd a következőt.
Másrészt, az i változó növelgetése nem a te dolgod, az a ciklusban magától megtörténik.
"i += 1"
Ennek mi a célja? :)
"range(0, number)"
Inkább így: range(1, number+1)
A fenti linkről, a range második paramétere:
"An integer number specifying at which position to stop (not included)."
+ Amit előttem írtak.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!