|
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 74
|
|
Python без goto. Как жить (выжить)03.03.2024, 15:39. Показов 1871. Ответов 37
Метки нет (Все метки)
Всю свою инженерную жизнь, начиная с Алгола, Фортрана, PL1, Паскаля, Ассемблера, С/C++ и C#, программировал компьютеры и микроконтроллеры с оператором goto, и он мне не мешал. В Python его нет, что создает мне неудобства при ветвлениях в алгоритмах. Подскажите, где почитать и научиться программированию в Python без goto, или найти ему замену.
Слышал как-то, что в коды интерпретатора Python можно вставлять фрагменты кодов из компилятора C/C++. Это поможет? Python мне нравится, особенно в связке с библиотеками от Qt5.
0
|
|
| 03.03.2024, 15:39 | |
|
Ответы с готовыми решениями:
37
Можно ли выжить без C++/CLI? Модем без функции DDNS - как жить |
|
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 74
|
|
| 05.03.2024, 15:04 [ТС] | |
|
idealist, я слышал, что основном апологетом отказа от goto является Дейкстра. Мы используем в своих программах его алгоритм нахождения кратчайшего или оптимального маршрута на электронных картах среди множества возможных, здесь все работает отлично. Считаю все же, что goto он мог бы и не уничтожать. Да ладно, сейчас моя задача, подстроиться к новой реальности в Python без goto, а это пока не легко. Буду еще разбираться.
YuS_2, Вы пишите: "Но тут Рыжий Лис, полностью прав, это даже не просто плохая практика, а очень плохая , т.к. получаем на выходе слишком грязные функции и методы...Это просто демонстрация отсутствия жизненной необходимости в инструкции GOTO, даже для гипотетических случаев..." Тогда, какая практика в Python считается хорошей. При том, что я уже согласился решать в Python подобные ветвления данным методом, и не вижу пока других.
0
|
|
|
Любознательный
7404 / 2253 / 360
Регистрация: 10.03.2016
Сообщений: 5,212
|
|||
| 05.03.2024, 15:57 | |||
|
Добавлено через 43 секунды
0
|
|||
|
6 / 6 / 0
Регистрация: 23.03.2021
Сообщений: 74
|
|
| 05.03.2024, 16:01 [ТС] | |
|
Рыжий Лис Согласен. Спасибо, Ваши подсказки еще будут полезны. Я получил ответы на большую часть своих вопросов.
YuS_2, Вам тоже спасибо, все советы дельные. Книгу скачаю.
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 05.03.2024, 18:51 | |
|
Рыжий Лис, в люа гото есть.
0
|
|
|
|
||
| 05.03.2024, 23:19 | ||
|
Сейчас посмотрел, оказывается, в C# тоже есть гото. Честно скажу, не ожидал.
Ответ простой, с гото код становится бесструктурной лапшой, в которой хрен разберёшься. Вам он не мешает, а вот тот, кто этот код будет читать, потом вас проклянёт и будет абсолютно прав.
2
|
||
|
Супер-модератор
|
||
| 06.03.2024, 11:08 | ||
|
Борьба с GoTo вполне органично смотрелась лет 50-60 назад. А сейчас - это эпигонство и докринёрство.
0
|
||
|
|
|||||
| 06.03.2024, 11:54 | |||||
|
0
|
|||||
|
Просто Лис
|
||
| 06.03.2024, 12:01 | ||
|
Но такой код большая редкость.
0
|
||
|
Супер-модератор
|
||||
| 06.03.2024, 19:20 | ||||
|
2
|
||||
|
|
|||
| 06.03.2024, 19:46 | |||
|
Кстати, Фортран-4, я посмотрел, вышел в 1957-м году. За 11 лет до классической статьи Дейкстры. Тогда goto был в порядке вещей. Эта библиотека, полагаю, тоже писалась где-то в те годы - прежде, чем выработались более безопасные подходы. Что "всё"-то? Вы отрицаете, что с goto очень просто запутать код? Ну отрицайте, пишите, как хотите.
0
|
|||
|
Супер-модератор
|
||
| 06.03.2024, 20:57 | ||
|
Сложность программы зависит от мышления программиста. Можно производить запутанный код и без использования GoTo. С другой стороны: что страшного, если на 5000 строк кода может встретиться пара GoTo? Мир от этого рухнет?
0
|
||
|
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,707
|
|||
| 06.03.2024, 21:37 | |||
|
"ФОРТРАН, инфантильное расстройство, которому уже почти 20 лет, безнадежно не подходит для любого компьютерного приложения, которое ты имеешь в виду сегодня: оно теперь слишком неуклюже, слишком рискованно и слишком дорого в использовании. " Т.е. это говорилось когда фортрану было 20 лет. А сейчас ему почти семьдесят!
1
|
|||
|
Супер-модератор
|
|||||||||||||
| 06.03.2024, 21:47 | |||||||||||||
|
idealist, Дейкстра, конечно, был человек авторитетный. Но Фортран (один из самых старых языков) жив и по сей день (несмотря на то, что Дейкстра его недолюбливал).
Вот два кода:
И в чём состоит "резкое понижение качества" у второго кода? ![]()
1
|
|||||||||||||
|
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,707
|
|||
| 06.03.2024, 22:25 | |||
|
0
|
|||
|
Модератор
|
|||||||
| 06.03.2024, 23:19 | |||||||
|
Кликните здесь для просмотра всего текста
0
|
|||||||
|
Просто Лис
|
|
| 07.03.2024, 05:54 | |
|
1
|
|
|
Супер-модератор
|
||||
| 07.03.2024, 08:37 | ||||
Что лишний раз подтверждает мою правоту: опасна не передача управления как таковая, а тупак-программист (его мышление представляет собой лапшу, которая, в свою очередь порождает код-лапшу). Но запрет GoTo бессилен против тупака - он и без GoTo напишет код, который не требует обфускации. ![]() Добавлено через 2 минуты Добавлено через 2 минуты
0
|
||||
| 07.03.2024, 08:37 | |
|
Помогаю со студенческими работами здесь
38
Повторение web запроса: как без goto? Как реализовать вычисление корня без goto?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|