Fibonacci sari Pythonis - Numbrid ja seeria - Erinevad meetodid

Lang L: none (table-of-contents):

Anonim

Fibonacci sarja tutvustus Pythonis

Fibonacci seeriat Pythonis nimetatakse seda numbriseeriaks, kus järgmine arv on kahe praeguse numbri summa.

Näiteks:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 .. nii edasi

Nii et siin 0 + 1 = 1

1 + 1 = 2

1 + 2 = 3

2 + 3 = 5

3 + 5 = 8

5 + 8 = 13

8+ 13 = 21 ja nii edasi.

Ülaltoodut vaadates oleks saanud kindla ettekujutuse sellest, millest me räägime.

Matemaatilise reegli osas võib selle siiski kirjutada järgmiselt:

Kus n-ndal arvul on punktides (n-1) ja (n-2) asuvate arvude summa. Fibonacci sarja rakendamisel võiks olla mitmeid kodeerimiskeeli, mille kaudu seda saaks teha.

Python on aga tänapäeval laialt levinud keel. Vaatame Fibonacci sarja teostust Pythoni kaudu. Enne siin jätkamist peaks olema teadlik Pythoni põhilistest tingimustest, nagu silmus, kui-veel, samas kui silmus jne. Kui ei, siis oleks väga tore, kui keegi saaks selle üle vaadata ja seejärel uue sisu üles võtta. Siin kasutan demoesmärkidel spyderit, mis on python programmeerimiskeele jaoks IDE. Pythoni programmide täitmiseks võib kasutada ka muid IDE või Ipython sülearvuteid.

Fibonacci sari Pythonis

Vaatame Fibonacci arvu ja seeria rakendamist, võttes arvesse Fibonacci esimest kahte elementi: 0 ja 1:

Fibonacci funktsiooni saate siiski oma nõudmistele vastavaks muuta, kuid kõigepealt vaadake põhitõdesid ja liikuge järk-järgult teiste juurde.

Pythoni kood n-ö Fibonacci arvu leidmiseks

Kood 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

Kood 2:

Väljund:

Nagu näha, oleks 9. kohal olev Fibonacci number 21 ja 11. kohal 55. kohal.

  • Siin on “fibonacci_num” määratletud funktsioon, mis hoolitseb Fibonacci arvu leidmise eest teatud tingimuste abil. Seda funktsiooni saab kutsuda, määrates suvalise positsiooni.

Vaatame nüüd, kuidas saab seeriaid trükkida kuni mainitud positsioonini:

Kood:

Väljund:

Võib märgata, et Fibonacci numbrite algus on määratletud kui 0 ja 1.

  • Kui keegi soovib määratleda oma lähtetingimused, saab seda teha ka n1 ja n2 näpistamise teel. Siin on näide selle kohta:

Ütleme nüüd, et me tahame, et meie lähtetingimused oleksid: n1 = 3, n2 = 5

Nii et teie 4. ametiaeg (võetakse arvesse kasutaja sisend) otsustatakse siin teie lähtetingimuste põhjal.

Meetodid, mille kaudu saab luua Fibonacci seeria

Allpool on toodud kolm meetodit, mille abil saab genereerida Fibonacci seeriaid:

1. Generaatorite kaudu

Kood:

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äljund:

Seda meetodit nimetatakse generaatoriks, kuna funktsioon xrange on generaator numbrite 0 ja num vahel ning saagis on vormindatud väljundi generaator.

Siin on, mida xrange teie heaks teeb:

Siin on Fibonacci seeria määratletud funktsiooni kujul, mille sees väljundi eest hoolitsevad silmuse, xrange'i ja saagise funktsioonid.

2. Läbi silmuse

Kood:

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

Väljund:

Nagu näha, on Fibonacci seeria printimiseks vahemikus 0 kuni 10 kasutatud silmuse jaoks lihtsat. Silmuse jaoks on muutujatele määratud uued väärtused. U ja v on Fibonacci vaikimisi algväärtused, mis on seatud vastavalt 0 ja 1.

Kuna ahela kulgemine jätkub, on uus u väärtus vana v väärtus, samas kui uus v väärtus on u ja v vanade väärtuste summa. See jätkub vahemiku väärtuste lõpuni.

3. Rekursiooni kaudu

Kood:

#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äljund:

  • Funktsioon “fibonacci_ser” kutsub üles ise Fibonacci seeriat printima.
  • Ja seetõttu on meetod saanud oma nime “rekursioon”.

Siin järgitud sammud:

  1. Siin palutakse kasutajal sisestada koht, kuhu Fibonacci seeria tuleb trükkida.
  2. Number läbib funktsiooni “fibonacci_ser”.
  3. Seisundit kontrollitakse, kui pakutav pikkus on alla ühe või mitte. Kui jah, antakse tulemus kohe.
  4. Kui pikkus on suurem kui 1, tehakse rekursiivsed kõned “fibonacci_ser” argumentidega, mille pikkus on alla 1 ja 2, st fibonacci_ser (m-1) ja fibonacci_ser (m-2).
  5. Seega annab rekursioon soovitud väljundi ja prindi see välja.
  • Nii et lühidalt arutasime Fibonacci-sarja kuvamise kolme viisi.
  • Läbi silmuse, läbi generaatorite ja läbi rekursiooni.

Kõik kolm Pythoni koodi on kokku võetud

Allpool on kolm python koodi:

1. Generaatorite kaudu

Kood:

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. Läbi silmuse

Kood:

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

3. Rekursiooni kaudu

Kood:

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

Ülaltoodud on kõik protseduurid, kõigist hea haarde saavutamiseks tuleb harjutada.

Väljund:

Järeldus

Ülaltoodud Fibonacci sisu läbi lugedes oleks saanud kristallselge ülevaate pütoni jaoks spetsialiseerunud Fibonacci numbritest ja seeriatest. Üks kord saab Fibonacci sarja loogikaga rahul olla, genereerides uue sarja sarja, töötades teiste numbrite ja erinevate meetoditega, on see nüüd teie jaoks koogitee. Ainus viis selles silma paista on loogiline lähenemine.

Soovitatavad artiklid

See on juhend Fibonacci seeriasse Pythonis. Siin käsitleme püthoniga spetsialiseerunud Fibonacci numbreid ja seeriaid, genereerides veel ühe seeriakomplekti, töötades teiste numbrite ja erinevate meetoditega. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. Juhuslike arvude generaator Pythonis
  2. Matemaatika funktsioonid Pythonis
  3. Faktuur Pythonis
  4. Kapseldamine Pythonis
  5. Fibonacci seeria Java
  6. Pythoni omadused
  7. Faktoriprogramm JavaScriptis
  8. Juhuslike arvude generaator Matlabis
  9. Juhuslike arvude generaator C-numbris
  10. Kapseldamine JavaScripti