Kezdőoldal » Számítástechnika » Programozás » Python! Az alábbi for loop...

Python! Az alábbi for loop miért nem azt adja amit kérek?

Figyelt kérdés

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?



2021. ápr. 24. 21:54
 1/3 Ozmium42 ***** válasza:
100%

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.

2021. ápr. 24. 22:16
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
100%
Ha rákeresel, akkor Wikipédián még algoritmust is találsz hozzá, csak át kell írni Pythonra. (Szerintem jogos meglesned a helyes megoldást, mert megpróbáltad és elbuktál rajta.)
2021. ápr. 24. 22:21
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:
100%

"i += 1"

Ennek mi a célja? :)

[link]


"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.

2021. ápr. 24. 23:23
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!