Fibonacci sorozat a Pythonban - Számok és sorozatok - Különféle módszerek

Tartalomjegyzék:

Anonim

Bevezetés a Python Fibonacci sorozatába

A Pythonban található Fibonacci sorozatot ez számsornak nevezi, ahol a következő szám a jelenlegi két szám összege.

Például:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 .. így tovább

Tehát itt 0 + 1 = 1

1 + 1 = 2

1 + 2 = 3

2 + 3 = 5

3 + 5 = 8

5 + 8 = 13

8+ 13 = 21 és így tovább.

A fentiek alapján némi elképzelésünk lenne arról, miről beszélünk.

A matematikai szabályt azonban így lehet megfogalmazni:

Az n-edik szám a (n-1) és (n-2) helyek számának összege. A Fibonacci sorozat megvalósításakor számos kódoló nyelv létezhet, amelyen keresztül meg lehet valósítani.

A Python azonban manapság széles körben használt nyelv. Lássuk a Fibonacci sorozat megvalósítását Pythonon keresztül. Az itt folytatás előtt tisztában kell lennie az alapvető kondicionáló kijelentésekkel, mint például a hurok, ha más, míg a hurok stb. Pythonban. Ha nem, nagyszerű lenne, ha felülvizsgálja, majd átveszi a következő tartalmat. Demó céljára spyder-et használok, amely IDE a python programozási nyelvhez. Bármely más IDE vagy Ipython notebook felhasználható a Python programok végrehajtására.

Fibonacci sorozat Pythonban

Lássuk a Fibonacci szám és sorozat megvalósítását, figyelembe véve a Fibonacci első két elemét: 0 és 1:

A Fibonacci funkcióját azonban módosíthatja a követelményei szerint, de először megnézheti az alapokat, és fokozatosan tovább léphet mások felé.

Python-kód az n. Fibonacci-szám megtalálására

1. kód:

def Fibonacci_num(m):
u = 0
v = 1
if m < 0:
print("Incorrect input entered")
elif m == 0:
return u
elif m == 1:
return v
else:
for i in range(2, m):
c = u + v
u = v
v = c
return v

2. kód:

Kimenet:

Mint látható, a 9. helyen a Fibonacci-szám 21, a 11. helyen 55 lenne.

  • Itt a „fibonacci_num” egy definiált függvény, amely bizonyos körülmények között gondoskodik a Fibonacci szám megtalálásáról. Ezt a funkciót bármilyen helyzet megadásával meg lehet hívni.

Most nézzük meg, hogyan lehet sorozatot kinyomtatni az említett pozícióig:

Kód:

Kimenet:

Megfigyelhető a Fibonacci-számok kezdetének 0 és 1 értéke.

  • Ha valaki meg akarja határozni a saját kiindulási feltételeit, akkor ezt ugyanúgy meg lehet tenni az n1 és n2 hozzáigazításával. Íme a példa erre:

Tegyük fel most, hogy azt akarjuk, hogy a kiindulási feltételek: n1 = 3, n2 = 5

Tehát itt a 4. ciklus pozícióját (a felhasználói bevitel megtörtént) a kiindulási feltételek alapján döntenek.

Módszerek, amelyek révén a Fibonacci sorozat előállítható

Az alábbiakban bemutatjuk a három módszert, amellyel a Fibonacci sorozat generálható:

1. Generátorokon keresztül

Kód:

def fibo(num):
a, b = 0, 1
for i in xrange(0, num):
yield "():: ()".format(i + 1, a)
a, b = b, a + b
for item in fibo(10):
print item

Kimenet:

Ezt a módszert „generátornak” nevezzük, mivel az xrange függvény 0 és num közötti szám generátor, a hozam pedig a formázott kimenet generátora.

Itt van, mit jelent az xrange az Ön számára:

Itt a Fibonacci sorozatot a függvény formájában határoztuk meg, amelyben a hurok, az xrange és a hozam függvény gondoskodik a kimenetről.

2. Hurokig

Kód:

u, v = 0, 1
for i in xrange(0, 10):
print u
u, v = v, u + v

Kimenet:

Mint látható, a hurok egyszerűvé vált a 0 és 10 közötti Fibonacci sorozat kinyomtatásához. A hurok belsejében új értékeket rendeltek a változókhoz. U és v a Fibonacci alapértelmezett kezdeti értékei, amelyek 0-ra, illetve 1-re vannak beállítva.

Ami a hurok futását halad, az új u érték a régi v érték, míg az új v érték a régi u és v értékének összege. Ez a tartományértékek végéig folytatódik.

3. rekurzión keresztül

Kód:

#Through recursion
def fibonacci_ser(m):
if(m <= 1):
return m
else:
return(fibonacci_ser(m-1) + fibonacci_ser(m-2))
m = int(input("Enter number of terms:"))
print("Fibonacci sequence:")
for i in range(m):
print fibonacci_ser(i),

Kimenet:

  • A „fibonacci_ser” funkció felhívja magát a Fibonacci sorozat kinyomtatására.
  • És ezért a módszer elnevezése „rekurzió”.

Itt követett lépések:

  1. Itt a felhasználót arra kérték, hogy adja meg azt a helyet, ameddig a Fibonacci sorozatot ki kell nyomtatni.
  2. A szám áthalad a „fibonacci_ser” függvényen.
  3. Ellenőrizzük az állapotot, ha a megadott hosszúság kevesebb, mint 1. Ha igen, az eredményt azonnal megkapják.
  4. Ha azonban a hossza nagyobb, mint 1, akkor rekurzív hívásokat kezdeményezünk a „fibonacci_ser” -re olyan érvekkel, amelyek hossza kisebb, mint 1 és 2, azaz fibonacci_ser (m-1) és fibonacci_ser (m-2).
  5. Ezért a rekurzió megadja a kívánt eredményt és kinyomtatja.
  • Tehát röviden, a Fibonacci sorozat megjelenítésének három módjáról beszélgettünk.
  • Hurokon keresztül, generátorokon keresztül és rekurzión keresztül.

Mindhárom Python-kód összefoglalva

Az alábbiakban található a három python kód:

1. Generátorokon keresztül

Kód:

def fibo(num):
a, b = 0, 1
for i in xrange(0, num):
yield "():: ()".format(i + 1, a)
a, b = b, a + b
for item in fibo(10):
print item

2. Hurokig

Kód:

u, v = 0, 1
for i in xrange(0, 10):
print u
u, v = v, u + v

3. rekurzión keresztül

Kód:

def fibonacci_ser(n):
if(n <= 1):
return n
else:
return(fibonacci_ser(n-1) + fibonacci_ser(n-2))
n = int(input("Enter number of terms:"))
print("Fibonacci sequence:")
for i in range(n):
print fibonacci_ser(i),

A fentiekben összegeztük az összes eljárást, gyakorlást kell végezni ahhoz, hogy mindenki jól megfogjon.

Kimenet:

Következtetés

A fenti Fibonacci-tartalom áttekintésével kristálytiszta megértést kaphatott volna a pythonra szakosodott Fibonacci-számok és sorozatok. Egyszer kényelmesebbé válik a Fibonacci sorozat logikája, újabb sorozatkészítést generál, más számokkal és különféle módszerekkel dolgozik, ez most az Ön számára vándorlás lesz. A logikus megközelítés az egyetlen módja annak, hogy kitűnjön ebben.

Ajánlott cikkek

Ez egy útmutató a Python Fibonacci sorozatához. Itt a Fibonacci számokat és sorozatokat tárgyaljuk, amelyek a pythonra szakosodtak, újabb sorozatot generálnak, más számokkal és különféle módszerekkel dolgoznak. Megnézheti más kapcsolódó cikkeket is, ha többet szeretne megtudni -

  1. Véletlenszám-generátor Pythonban
  2. Matematikai funkciók a Pythonban
  3. Faktérium a Pythonban
  4. Beágyazás a Pythonba
  5. Fibonacci sorozat Java-ban
  6. Python szolgáltatások
  7. Faktorialis program a JavaScript-ben
  8. Véletlenszám-generátor a Matlab-ban
  9. Véletlenszám-generátor C # -ben
  10. Beágyazás a JavaScript-be