Серия 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 и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.