Как переделать программу из паскаля в питон

Use saved searches to filter your results more quickly

Cancel Create saved search

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window.

Reload to refresh your session.

fox0 / pas2py Public

Simple code converter from pascal to python

fox0/pas2py

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags

Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

#26. Треугольник Паскаля как пример работы вложенных циклов | Python для начинающих

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Читайте также:
Пример программы дополнительного профессионального образования

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Источник: github.com

Перевод кода с циклом из Pascal в Python

Я сделал такой перевод, но он не правильный, т.к выдает совершенно другие значения при одинаковых входных данных:

n = int(input()) c = 0 for n10 in range (0, n // 10): for n5 in range (0, n // 5): for n2 in range (0, n // 2): if n — 10 * n10 — 5 * n5 — 2 * n2 >= 0: c = c + 1 print(c)
Отслеживать
15.9k 3 3 золотых знака 24 24 серебряных знака 41 41 бронзовый знак
задан 19 ноя 2019 в 18:01
Mikey_mouse Mikey_mouse
179 6 6 серебряных знаков 17 17 бронзовых знаков

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Ваша проблема в том, что в пайтоне range исключает последний индекс:

n = int(input()) c = 0 for n10 in range (0, n // 10 + 1): for n5 in range (0, n // 5 + 1): for n2 in range (0, n // 2 + 1): if n — 10 * n10 — 5 * n5 — 2 * n2 >= 0: c = c + 1 print(c)
Отслеживать
ответ дан 19 ноя 2019 в 19:54
15.9k 3 3 золотых знака 24 24 серебряных знака 41 41 бронзовый знак
Хм, очень логичное поведение.
20 ноя 2019 в 7:59

Порадуйте преподавателя переводом на Python в функциональном стиле:

from itertools import product, starmap from functools import reduce from operator import mul,add n = int(input(«n 1» при выполнении требуемого условия, а потом мы вычисляем его длину. В Python для списка a авполняется len(a) == a.__len__() .

Pascal’s Triangle | Python Pattern Programs


Так что если не считать импортов то решение вышло в одну затейливую строчку ))

Читайте также:
Как добавить в Андроид авто сторонние программы

Отслеживать
ответ дан 20 ноя 2019 в 13:37
Vasyl Kolomiets Vasyl Kolomiets
3,991 5 5 золотых знаков 24 24 серебряных знака 45 45 бронзовых знаков

  • python
  • pascal
    Важное на Мете

Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник: ru.stackoverflow.com

Руководство по созданию интерпретатора языка Pascal на Python

Обложка: Руководство по созданию интерпретатора языка Pascal на Python

Предлагаем вашему вниманию серию статей, опубликованную в блоге Руслана Спивака. В ней автор подробно описывает процесс разработки базового интерпретатора. Серия пополняется, и в этой подборке вы найдете первые части руководства.

Примеры кода приведены на Python, однако подробные пояснения позволят читателю использовать для реализации любой другой удобный язык. В качестве интерпретируемого языка выбран Pascal, однако и здесь вы не будете ограничены — можно обратиться к любому другому языку, с семантикой которого вы хорошо знакомы.

Если вы не знаете, как работает компилятор, то вы не знаете, как работает компьютер. И если вы не уверены на 100%, что знаете, как работает компилятор, то вы не знаете, как он работает. — Стив Йиг

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

Различие между компилятором и интерпретатором

Читайте также:
Как удалить программу МТС

Почему вам нужно создать свой интерпретатор:

  1. Написать компилятор — значит задействовать и/или развить сразу несколько различных технических навыков. Причем навыков, которые окажутся полезными в программировании вообще, а не только при написании трансляторов.
  2. Вы станете чуть ближе к разгадке тайны, как же все-таки работают компьютеры. Компиляторы и интепретаторы — это магия. И нужно чувствовать себя комфортно при работе с этой магией.
  3. Вы сможете создать собственный язык программирования, восполняющий видимые вам недостатки существующих. А это, во-первых, сейчас модно, а во-вторых, при достаточном везении вы обретете мировую известность.
  4. Да ну и чем вам еще сейчас можно заняться? (Кстати, мы уже предлагали вам несколько вариантов на зимние каникулы и лето.)

Что приятно, статьи подробно иллюстрируются. Создается впечатление, что автор перед вами ведет настоящую лекцию. Вот, например, одна из синтаксических диаграмм:

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

Часть 1. Основные понятия, разбиение на токены и сложение однозначных чисел.

Часть 2. Обработка пробельных символов, многозначные числа.

Часть 3. Синтаксические диаграммы, одиночные умножение и деление.

Часть 4. Множественные умножения и деления, форма Бэкуса-Наура.

Часть 5. Калькулятор с произвольным числом операций, ассоциативность и порядок выполнения операторов.

Часть 6. Заканчиваем калькулятор: произвольный уровень вложенности.

Часть 7. Базовые используемые структуры данных. Также рекомендуем эту серию статей.

Часть 9. Объявление программы, составные операторы, присваивание, таблицы символов и обработка переменных.

Часть 10. Продолжение предыдущей части руководства. Обработка комментариев.

Серия продолжит пополняться, а пока можете обратиться к одному из пособий, которые рекомендует автор в конце каждой части.

Источник: tproger.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru