Fibonacciho séria v Pythone Čísla a série Rôzne metódy

Obsah:

Anonim

Úvod do série Fibonacci v Pythone

Fibonacciho séria v Pythone sa označuje ako séria čísel, kde ďalšie číslo je súčet súčasných dvoch čísel.

Napríklad:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 .. ďalej

Takže tu 0 + 1 = 1

1 + 1 = 2

1 + 2 = 3

2 + 3 = 5

3 + 5 = 8

5 + 8 = 13

8+ 13 = 21 atď.

Pri pohľade na vyššie uvedené by sme mali určitú predstavu o tom, o čom hovoríme.

Pokiaľ však ide o matematické pravidlo, možno ho napísať takto:

Kde n-té číslo je súčet čísla na miestach (n-1) a (n-2). Pokiaľ ide o implementáciu série Fibonacci, mohlo by existovať množstvo kódovacích jazykov, prostredníctvom ktorých by sa to dalo robiť.

Python je však dnes veľmi rozšíreným jazykom. Pozrime sa na implementáciu série Fibonacci prostredníctvom Pythonu. Skôr ako budete pokračovať, mali by ste si byť vedomí základných príkazov na kondicionovanie, ako sú slučka, ak, inde, zatiaľ čo slučka atď. Ak nie, bolo by skvelé, keby sa to dalo revidovať a potom prijať nový obsah. Tu na ukážkové účely používam spyder, ktorý je IDE pre programovací jazyk python. Na vykonávanie programov Python je možné použiť aj akékoľvek iné notebooky IDE alebo Ipython.

Fibonacciho séria v Pythone

Pozrime sa na implementáciu Fibonacciho čísla a série s ohľadom na 1. dva prvky Fibonacciho sú 0 a 1:

Funkciu Fibonacci však môžete vylepšiť podľa svojich požiadaviek, ale najskôr si prečítajte základy a postupne prejdite k iným.

Pythonov kód na nájdenie n-tého Fibonacciho čísla

Kód 1:

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

Kód 2:

Výkon:

Ako vidno, číslo Fibonacci na 9. mieste by bolo 21 a na 11. mieste by bolo 55.

  • Tu je funkcia „fibonacci_num“ definovaná funkcia, ktorá pomocou určitých podmienok zabezpečuje nájdenie Fibonacciho čísla. Túto funkciu je možné vyvolať zadaním ľubovoľnej polohy.

Teraz sa pozrime, ako je možné tlačiť série do uvedenej pozície:

kód:

Výkon:

Je možné si všimnúť začiatok Fibonacciho čísla je definované ako 0 a 1.

  • Ak chce niekto definovať svoje vlastné počiatočné podmienky, môže to byť urobené rovnakým spôsobom vyladením n1 a n2. Tu je príklad:

Povedzme, že teraz chceme, aby naše počiatočné termíny boli: n1 = 3, n2 = 5

Takže tu bude vaša štvrtá funkčná pozícia (vstup používateľa sa berie), bude rozhodnuté na základe vašich počiatočných podmienok.

Metódy, pomocou ktorých je možné generovať sériu Fibonacci

Nižšie sú uvedené tri metódy, pomocou ktorých je možné generovať sériu Fibonacci:

1. Prostredníctvom generátorov

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

Výkon:

Táto metóda sa označuje ako „generátor“, pretože funkcia xrange je generátor čísel medzi 0 a num a výťažok je generátor pre formátovaný výstup.

Čo pre vás xrange robí:

Fibonacciho séria je tu definovaná vo forme funkcie, v ktorej sa funkcia slučky, funkcia xrange a výnos stará o výstup.

2. Prostredníctvom slučky

kód:

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

Výkon:

Ako je zrejmé, pre tlač Fibonacciho série medzi 0 a 10 sa použilo jednoduché pre slučku. Vnútri pre slučku boli premenným priradené nové hodnoty. U a v sú predvolené počiatočné hodnoty Fibonacci, ktoré boli nastavené na 0 a 1.

Pokiaľ ide o postupovanie slučky, nová hodnota u je stará hodnota v, zatiaľ čo nová hodnota v je súčtom starých hodnôt u a v. To pokračuje až do konca hodnôt rozsahu.

3. Prostredníctvom rekurzie

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),

Výkon:

  • Funkcia „fibonacci_ser“ je výzvou pre tlač série Fibonacci.
  • Preto má táto metóda svoj názov „rekurzia“.

Postupovalo sa tu:

  1. Tu bol používateľ požiadaný o zadanie miesta, do ktorého je potrebné sériu Fibonacci vytlačiť.
  2. Číslo prechádza funkciou „fibonacci_ser“.
  3. Podmienka sa skontroluje, ak je poskytnutá dĺžka menšia ako 1 alebo nie. Ak áno, výsledok sa uvedie okamžite.
  4. Ak je však dĺžka väčšia ako 1, uskutočnia sa rekurzívne hovory na „fibonacci_ser“ s argumentmi, ktoré majú dĺžku menšiu ako 1 a 2, tj fibonacci_ser (m-1) a fibonacci_ser (m-2).
  5. Rekurzia teda poskytuje požadovaný výstup a tlačí ho.
  • Stručne povedané, diskutovali sme o troch spôsoboch zobrazenia série Fibonacci.
  • Prostredníctvom slučky, generátorov a rekurzie.

Zhrnutie všetkých troch Pythonových kódov

Nižšie sú uvedené tri pythónové kódy:

1. Prostredníctvom generátorov

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. Prostredníctvom slučky

kód:

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

3. Prostredníctvom rekurzie

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),

Zhrnuté vyššie sú všetky postupy, ktoré je potrebné precvičiť, aby ste si dobre uvedomili všetky.

Výkon:

záver

Pri prechádzaní vyššie uvedeným obsahom Fibonacciho by človek mal krištáľovo jasné porozumenie Fibonacciho číslam a sériám špecializovaným na python. Akonáhle sa človek osvojí s logikou série Fibonacci, vygeneruje ďalšiu sériu, bude pracovať s inými číslami a rôznymi metódami. Logický prístup je jediný spôsob, ako v tomto vyniknúť.

Odporúčané články

Toto je sprievodca sériami Fibonacci v Pythone. Tu diskutujeme Fibonacciho čísla a série, špecializované na python, vytvárajúce ďalšiu sériu, pracujeme s inými číslami a rôznymi metódami. Viac informácií nájdete aj v ďalších súvisiacich článkoch -

  1. Generátor náhodných čísel v Pythone
  2. Matematické funkcie v Pythone
  3. Factorial v Pythone
  4. Zapuzdrenie v Pythone
  5. Fibonacciho séria v Jave
  6. Funkcie Pythonu
  7. Faktorský program v JavaScripte
  8. Generátor náhodných čísel v Matlabe
  9. Generátor náhodných čísel v C #
  10. Zapuzdrenie do JavaScriptu