Треугольник паскаля в питоне

Треугольник Паскаля с помощью Python

Треугольник Паскаля – хорошая форма, образованная расположением чисел. Каждое число генерируется, принимая сумму двух чисел над ним. Снаружи

  • Автор записи

Автор: Pankaj Kumar
Дата записи

Треугольник Паскаля с помощью Python

Треугольник Паскаля – хорошая форма, образованная расположением чисел. Каждое число генерируется, принимая сумму двух чисел над ним. Внешние края этого треугольника всегда 1. Треугольник, как показано ниже.

Кратко объяснение треугольника, первая строка – 1. Линия следующая имеет 2. Это вторая строка.

Третья строка – 1 2 1 который формируется путем получения суммы в предыдущей линии. Аналогично, четвертая линия образована на сумму 1 и 2 в альтернативном рисунке и так далее.

  • Кодирование треугольника Паскаля в Python
  • Заключение

Кодирование треугольника Паскаля в Python

Давайте начнем с создания Паскальтриангр Функция.

В этой функции мы сначала инициализируем верхний ряд, используя Trow Переменная. Мы также инициализируем переменной. Теперь мы будем использовать цикл для запуска кода для N итерации.

Внутри для петли Мы распечатаем список инициализированной Trow Переменная. Теперь мы добавим левые и правильные элементы тряпки. Вместе с этим мы использовали ZIP функция здесь. Функция показана ниже.

Теперь просто дайте функцию вызова с параметром, указав количество необходимых строк. Это как показано ниже.

Выход кода, как показано ниже:

Заключение

Это доходит до конца нашего учебника по созданию треугольника Паскаля с использованием Python. Попробуйте этот код и сообщите нам обзоры в разделе «Комментарий» ниже.

Программа Python для печати треугольника Паскаля

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

Вступление

Треугольник Паскаля – это захватывающая математическая концепция, в которой треугольный массив формируется путем суммирования смежных элементов в предыдущей строке. Проще говоря, каждое число генерируется путем суммирования соседней строки, а внешние края треугольника всегда равны 1. Он назван в честь известного французского математика Блеза Паскаля. Ниже представлен треугольник Паскаля.

Треугольник паскаля в питоне

На изображении выше первая строка равна 1. Вторая строка содержит 2 единицы, а третья строка – 1 2 1, которая формируется путем суммирования указанной выше строки. Таким образом, он следует альтернативному шаблону во всем треугольнике и так далее.

Алгоритм печати треугольника Паскаля в Python

Ниже приведен шаг, используемый для печати треугольника Паскаля.

  • Шаг – 1: Получение данных от пользователя для определения количества строк.
  • Шаг – 2: Объявление пустого списка, в котором будут храниться значения.
  • Шаг – 3: Используя цикл for, который будет перебирать от 0 до n – 1, добавить подсписки в список.
  • Шаг – 4: Теперь добавить 1 в список.
  • Шаг – 5: Используя цикл for, определить значение числа внутри соседней строки треугольника.
  • Шаг – 6: Распечатать треугольник Паскаля в соответствии с форматом.
  • Шаг – 7: Выход.

Давайте разберемся с реализацией алгоритма в программе Python:

Запускаем программу еще раз.

В приведенной выше программе мы взяли несколько строк от пользователя в качестве входных. Мы объявили пустой список. Затем мы использовали цикл for, который добавлял подсписок в пустой список. Следующий добавляется ко всем подспискам. Внутренний цикл for определил, что число внутри треугольника является суммой соседней строки выше. В конце концов, мы использовали цикл for для печати треугольника Паскаля в соответствии с форматом.

Способ 2

Мы можем использовать другой метод, следуя биномиальному коэффициенту, вся строка начинается с 1, а i-я запись в строке номера строки – это биномиальный коэффициент C(строка, i). Формула приведена ниже.

Временная сложность указанного выше метода равна 0(N2).

Способ 3

Этот метод является оптимизированным способом печати треугольника Паскаля. Этот метод основан на степени 11.

Как мы можем видеть в приведенном выше коде, когда мы вводим количество строк пять. Это дало неверный результат. Это означает, что он работает только до n

Треугольник Паскаля для Python

в качестве учебного опыта для Python я пытаюсь закодировать свою собственную версию треугольника Паскаля. Это заняло у меня несколько часов (так как я только начинаю), но я вышел с этим кодом:

однако, я понятия не имею, куда идти отсюда. Я уже несколько часов бьюсь головой о стену. Я хочу подчеркнуть, что я не хочу, чтобы вы делали это за меня; просто подтолкните меня в правильном направлении. Как список, мой код возвращает

EDIT: я взял хороший совет, и я полностью переписал свой код, но теперь я сталкиваюсь с другой проблемой. Вот мой код.

однако я нахожу, что вывод немного нежелателен:

как я могу это исправить?

10 ответов

объяснение треугольника Паскаля:

это формула для «N выберите k» (т. е. сколько разных способов (без учета порядка), из упорядоченного списка n элементов, мы можем выбрать k элементов):

комментатор спросил, связано ли это с itertools.комбинации — действительно. «N выбрать k» можно рассчитать, взяв длину списка элементов из комбинаций:

давайте посмотрим это продемонстрировано:

мы можем избежать повторения с вложенным пониманием списка:

рекурсивное определение:

мы можем определить это рекурсивно (менее эффективное, но, возможно, более математически элегантное определение), используя отношения, иллюстрируемые треугольником:

и для удовольствия вы можете видеть, что каждая строка занимает все больше времени для выполнения, потому что каждая строка должна пересчитать почти каждый элемент из предыдущей строки дважды каждый раз:

Ctrl-C, чтобы выйти, когда вам надоест смотреть его, он становится очень медленным очень быстро.

Я знаю, что вы хотите реализовать себя, но лучший способ для меня объяснить-пройти через реализацию. Вот как я бы это сделал, и эта реализация опирается на мои довольно полные знания о том, как работают функции Python, поэтому вы, вероятно, не захотите использовать этот код самостоятельно, но это может заставить вас указать в правильном направлении.

Поделиться или сохранить к себе: