Kezdőoldal » Számítástechnika » Programozás » Python tribonacci generátor?

Python tribonacci generátor?

Figyelt kérdés

Az lenne a feladat, hogy csinálni kéne egy tribonacci generátort, amit ha meghívok, akkor mindig adja a sorozat következő elemét. Emellé kéne csinálni egy függvényt, aminek megadok egy n számot és az első n tribonacci szám listájával tér vissza.

Nem kérek senkit, hogy programozza le nekem, ne értsetek félre; nekem csak az a bajom ezzel, hogy a generátorból az istenért se tudom a számokat visszakapni csak azt, hogy az objektum az xy memóriacímen van.

ha erre tud valaki valami tutorialt linkelni azt megköszönném.


2017. nov. 10. 13:07
 1/10 anonim ***** válasza:
62%

Ott valamit nagyon elszúrsz, ha memória címet kapsz vissza.


Egyébként pedig írd be a googlebe, hogy python Fibonacci, erre rengeteg példa van. Ebből Tribonaccit peedig úgy kapsz, hogy 2 helyett 3 számot adsz össze, gondolom az menni fog:)

2017. nov. 10. 13:32
Hasznos számodra ez a válasz?
 2/10 Ozmium42 ***** válasza:
100%
Jó lenne, ha kódot is mellékelnél. Ha generátort csinálsz, akkor szükség van egy __init__() metódusra, ami kezeli a kiindulási változókat, és később minden iteráció ezeket módosítja. Kell egy __next__() metódus, ami pedig ezek alapján kiszámolja a következő elemet, elvégzi az osztályváltozók módosítását, és visszatér az eredménnyel. Ezután példányosítod az osztályt egy változóba, kiindulási értékekkel, majd a változót használod generátorként, például for cikluson belül így: for i in változód: stb. Vagy pedig úgy, hogy írsz még egy next() metódust, ami ugyanazt csinálja, mint a __next__(), de kényelmesebben meg tudod hívni változó.next() szerint, és akkor egyet előre lép az objektum + megkapod a számot visszatérési értékként.
2017. nov. 10. 15:10
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:

Kód nélkül nehéz megmondani. Amit a yield visszaad azt kell megkapnod...

Egy random tutorial a generátorokról:

[link]

2017. nov. 10. 17:27
Hasznos számodra ez a válasz?
 4/10 Csxeba ***** válasza:
71%

A python mindig memóriacímeket ad vissza, inkább valamit nem jól printelsz ki.

Így látatlanba azt mondanám, hogy lefelejtetted a függvényhívás operátorát és avalami ilyesmid van:


def tribonacci():

....


print(tribonacci)



holott ez kéne legyen:

print(tribonacci())

2017. nov. 11. 10:39
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:
Köszönöm a segítséget, az utolsó volt a problémám.
2017. nov. 11. 11:14
 6/10 anonim ***** válasza:

Ezt a választ rögtön megkaptad volna, ha megmutatod a kódot...

Kár, hogy a kérdezőket nem lehet értékelni...

2017. nov. 11. 20:53
Hasznos számodra ez a válasz?
 7/10 Csxeba ***** válasza:
Miért vagyok lepontozva? O.o
2017. nov. 11. 21:32
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:
Ilyen ez az oldal, tele van idiótákkal. Valaki biztos megharagudott rád és most minden válaszodat elkezdi lepontozni.
2017. nov. 12. 08:08
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:
Én mindenkinek zöldet adtam.
2017. nov. 12. 13:37
 10/10 anonim ***** válasza:

Így kell kinézni egy python generátornak, és így kell használni:


def tribo(n):

....tribo_list = [1,1,2]

....yield 1

....yield 1

....while tribo_list[2] <= n:

........yield tribo_list[2]

........tribo_list = tribo_list[1:] + [sum(tribo_list)]


print([x for x in tribo(100)])


Az eredmény pedig ez:

[1, 1, 2, 4, 7, 13, 24, 44, 81]

2017. nov. 14. 10:28
Hasznos számodra ez a válasz?

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

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!