Рубрики
Без рубрики

Серия Фибоначчи в Python

Python 101: Сегодняшняя тема – серия Фибоначчи в Python.

Автор оригинала: Chris.

Серия Fibonacci была обнаружена итальянским математиком Leonardo Fibonacci в 1202 году и даже ранее индийских математиков. Серия появляется в неожиданных областях, таких как экономика, математика, искусство и природа.

Эскиз алгоритма

Далее мы даем простой алгоритм для расчета чисел фибоначчи.

Серия начинается с чисел фибоначчи ноль и один. Алгоритм вычисляет следующий элемент серии как сумма обоих последних элементов. Для этого алгоритм должен отслеживать только последние два элемента в серии. Таким образом, мы поддерживаем две переменные А и B Быть вторым последним и последним элементом в серии соответственно. Это вычисление повторяется на 10 итераций с использованием стандарта для петли :

# Algorithm to Computer
# Fibonacci Series

a, b = 0, 1
for i in range(10):
    print(b)
    a, b = b, a+b

Выходные данные являются первыми 10 цифрами FIBONACCI:

1
1
2
3
5
8
13
21
34
55

Для ясности кода мы использовали языковой особенностью Несколько заданий в первой и последней строке.

Эта функция работает следующим образом.

  • На Левая сторона Из задания есть какая-либо последовательность переменных, таких как Список или кортеж Отказ
  • На правая сторона Из задания мы указываем значения, которые будут назначены этими переменными.

Оба последовательности слева и справа должны иметь одинаковую длину. В противном случае интерпретатор Python бросит ошибку.

Обратите внимание, что все выражения в правой части сначала оцениваются до того, как они будут назначены. Это важное свойство для нашего алгоритма. Без этого свойства последняя строка будет неверна как выражение A + B будет рассмотреть неправильное значение для А Отказ

Как хранить первые n фибоначчи в списке?

RECAP, серия FIBONACCI – это серия чисел, которые возникают, когда его многократно поднимаются последними двумя номерами, начиная с 0 и 1. Вот алгоритм, который хранит первые N FIBONACCI в списке и возвращает список:

def fibo(n):
    result = []
    a, b = 0, 1
    while a < n:
        result.append(a)
        a, b = b, a+b
    return result

fib100 = fibo(100)
print(fib100[-1]== fib100[-2]+fib100[-3])
# True

FIBO Функция в коде вычисляет все номера фибоначчи до аргумента функции N Отказ

Опять же, мы используем краткий метод Несколько заданий хранить значение B В переменной А и рассчитать новое значение B как сумма обоих. Мы поддерживаем всю последовательность в переменную списка Результат Применяя значение последовательности A до конца списка.

Код вычисляет последовательность FIBONACCI до 100 и сохраняет весь список в переменной FIB100 Отказ Но чтобы понять код, вам не нужно рассчитать всю последовательность. Печать Заявление сравнивает только, равен ли последний элемент суммы второго и третьего последнего элемента в последовательности. Это верно по определению серии Fibonacci.

Простая головоломка Python о серии Fibonacci

Можете ли вы решить следующую головоломку о алгоритме Fibonacci?

Вы мастер-кодер? Проверьте свои навыки сейчас!

Смотреть связанные видео Фибоначчи одноклассника

Я люблю однолонистые Отказ Так много, чтобы я написал книга Python One-listers О том, как сжать код Python в одну строку кода Python. Как оказывается, вы можете выразить алгоритм фибоначчи в одной строке кода. Посмотрите видео, чтобы увидеть, как!

Код один вкладыша для вычисления номеров FIBONACCI в одной строке следующий:

# Dependencies
from functools import reduce

# The Data
n = 10

# The One-Liner
fibs = reduce(lambda x, _: x + [x[-2] + x[-1]], [0] * (n-2), [0, 1])

# The Result
print(fibs)

Вы можете прочитать подробное объяснение в моем полном уроке.

Похожие учебники: Алгоритм фибоначчи в одной линейке кода Python

Math-Base Builder Video Fibonaccci

Теперь, что вы узнали все о алгоритме Fibonacci, я уверен, что вы хотите проверить свои навыки!

Продвинутая головоломка Python о Фибоначчи

Следующая головоломка – это головоломка с продвинутым уровнем фибоначчи. Можете ли вы решить это?

Вы мастер-кодер? Проверьте свои навыки сейчас!

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.