Серія Фібоначчі в Пітоні - Числа та серія - Різні методи

Зміст:

Anonim

Вступ до серії Фібоначчі в Python

Серія Фібоначчі в Python це називається рядом чисел, де наступне число - це сума цих двох чисел.

Наприклад:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 .. так далі

Тож тут 0 + 1 = 1

1 + 1 = 2

1 + 2 = 3

2 + 3 = 5

3 + 5 = 8

5 + 8 = 13

8+ 13 = 21 тощо.

Дивлячись на вищесказане, можна було б мати певне уявлення про те, про що ми говоримо.

Однак, з точки зору математичного правила, його можна записати так:

Де n-е число - це сума числа в місцях (n-1) і (n-2). Що стосується реалізації серії Фібоначчі, то може бути кілька мов кодування, за допомогою яких це можна зробити.

Однак Python - широко поширена мова в наш час. Подивимось реалізацію серії Фібоначчі через Python. Слід знати про основні констатації обумовлення, такі як цикл, якщо не, а цикл тощо в Python, перш ніж продовжуватись тут. Якщо ні, то було б чудово, якщо можна переглядати його, а потім переймати вміст, що виходить. Тут для демонстраційних цілей я використовую шпідер, який є IDE для мови програмування python. Можна також використовувати будь-які інші ноутбуки IDE або Ipython, а також для виконання програм Python.

Серія Фібоначчі в Пітоні

Давайте подивимось реалізацію числа і рядів Фібоначчі, що враховують 1- й два елементи Фібоначчі - 0 і 1:

Однак ви можете налаштувати функцію Фібоначчі відповідно до вашої вимоги, але побачити основи спочатку та поступово переходити до інших.

Код Пітона для знаходження n-го числа Фібоначчі

Код 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

Код 2:

Вихід:

Як видно, число Фібоначчі на 9- му місці було б 21, а на 11- му - 55.

  • Тут “Weight_num” - це визначена функція, яка дбає про знаходження числа Фібоначчі за допомогою певних умов. Цю функцію можна викликати, вказавши будь-яку позицію.

Тепер давайте подивимося, як можна друкувати серії до зазначеної позиції:

Код:

Вихід:

Можна помітити, що початок чисел Фібоначчі визначається як 0 і 1.

  • Якщо хтось хоче визначити свої власні початкові умови, це також можна зробити так само, налаштувавши n1 і n2. Ось приклад для цього:

Скажімо, зараз ми хочемо, щоб нашими початковими умовами були: n1 = 3, n2 = 5

Тож тут ваша позиція на 4- му терміні (введений користувачем) буде визначатися виходячи з початкових умов.

Методи, за допомогою яких можна генерувати ряд Фібоначчі

Нижче наведено три методи, за допомогою яких можна генерувати ряд Фібоначчі:

1. Через генератори

Код:

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

Вихід:

Цей метод називають "генератором", оскільки функція xrange є генератором чисел від 0 до числа, а вихід є генератором для відформатованого виводу.

Ось що робить xrange для вас:

Тут ряд Фібоначчі був визначений у формі функції, всередині якої для циклу, xrange та функції урожайності піклується про вихід.

2. Через петлю

Код:

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

Вихід:

Як бачимо, для друку рядів Фібоначчі від 0 до 10. використовувались прості для циклу, що знаходяться між 0 і 10. Усередині циклу для змінних присвоюються нові значення. U і v - початкові значення за замовчуванням Фібоначчі, встановлені відповідно 0 і 1.

Що стосується прогресування циклу, то нове значення u - це старе значення v, тоді як нове значення v - це сума старих значень u і v. Це продовжується до кінця значень діапазону.

3. Через рекурсію

Код:

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

Вихід:

  • Функція "alig_ser" робить дзвінок собі надрукувати серію Фібоначчі.
  • Отже, метод отримав свою назву "рекурсія".

Тут виконуються кроки:

  1. Тут користувач попросив ввести місце, до якого потрібно надрукувати серію Фібоначчі.
  2. Число проходить через функцію "vred_ser".
  3. Умова перевіряється, якщо надана довжина менше 1 чи ні. Якщо так, результат дається негайно.
  4. Однак якщо довжина більша за 1, рекурсивні виклики проводяться до "fond_ser" з аргументами, що мають довжину менше 1 і 2, тобто.
  5. Отже, рекурсія дає бажаний вихід і друкує його.
  • Отже, коротше, ми обговорили три способи відображення серії Фібоначчі.
  • Через цикл, через генератори та через рекурсію.

Всі три Python Code узагальнені

Нижче наведено три пітонних коду:

1. Через генератори

Код:

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. Через петлю

Код:

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

3. Через рекурсію

Код:

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

Узагальнене вище - це всі процедури, потрібно практикуватись, щоб добре впоратися з усіма.

Вихід:

Висновок

Переглядаючи вищевказаний зміст Фібоначчі, можна було б зрозуміти чітке розуміння чисел і рядів Фібоначчі, спеціалізованих на пітоні. Одного разу вам стане комфортно з логікою серії Фібоначчі, генеруючи інший набір серій, робота з іншими числами та з різними методами тепер стане для вас перешкодою. Логічний підхід - єдиний спосіб досягти успіху в цьому.

Рекомендовані статті

Це посібник із серії Фібоначчі в Python. Тут ми обговорюємо числа і ряди Фібоначчі, спеціалізовані з python, генеруючи інший набір рядів, працюючи з іншими числами та з різними методами. Ви також можете ознайомитись з іншими нашими пов’язаними статтями, щоб дізнатися більше -

  1. Генератор випадкових чисел у Python
  2. Математичні функції в Python
  3. Факторський в Python
  4. Інкапсуляція в Python
  5. Серія Фібоначчі на Яві
  6. Особливості Python
  7. Факторна програма в JavaScript
  8. Генератор випадкових чисел у Matlab
  9. Генератор випадкових чисел у C #
  10. Інкапсуляція в JavaScript