Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 23, 2018 15:09:30

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

Мое творение

> и внимательность

Да внимательность с пробелами не помешает.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#2 Фев. 23, 2018 21:02:53

Xakep321
От: Украина, Харьков
Зарегистрирован: 2018-02-22
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Мое творение

py.user.next
Рекурсивные вызовы функций не надо делать там, где их не надо делать. Если что-то подразумевает бесконечные рекурсивные вызовы, то от них точно надо избавиться сразу. А бесконечный вызов подменю вполне возможен.Функции должны вызывать функции, которые должны вызывать функции. При этом сами функции должны быть небольшими, можно и однострочные использовать. Главная задача функции - изолировать код от остальной части программы. Тогда функцию можно заменять полностью, делая это незаметно для остальной программы. При обнаружении ошибок это важно. Когда ты обнаружил ошибку в коде, ты должен всего лишь заменить функцию, в которой эта ошибка, а не дёргать части программы, не относящиеся к ошибке.Так что конкретно в этой программе нужно сделать, чтобы каждый пункт меню не какой-то код выполнял, а вызывал функцию, а код уже должен быть внутри этой отдельной функции. На каждое действие своя функция. И дальше такая функция может ещё ветвиться и другие функции вызывать. Так ты отвяжешь меню от кода, который в пунктах меню исполняется.tags: structured paradigm
Здравствуйте, то есть нужно было создать не одну функцию, а несколько? Мне кажется что будет правельнее сделать четыре функции и при вводе определенного текста чтобы открывалась функция, но тогда как закрыть функцию и вернуться обратно к вводу? Создать 5 функцию с вводом команд?

Отредактировано Xakep321 (Фев. 23, 2018 21:38:46)

Офлайн

#3 Фев. 23, 2018 21:03:45

Xakep321
От: Украина, Харьков
Зарегистрирован: 2018-02-22
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Мое творение

PEHDOM
1. много копипасты, типа такого :
Спасибо, я подправлю код

Офлайн

#4 Фев. 23, 2018 21:06:27

Xakep321
От: Украина, Харьков
Зарегистрирован: 2018-02-22
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Мое творение

InterVi
Смешно. Авто-выравнивание есть во всех IDE, а даже если нагадить, подсветит.
В данном примере табуляция была необходима, тем более что я пишу в просто в блокноте, да и внимательность тем самым тренирую, но спасибо, сегодня скачаю IDE

Офлайн

#5 Фев. 24, 2018 00:55:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9715
Репутация: +  842  -
Профиль   Отправить e-mail  

Мое творение

Xakep321
но тогда как закрыть функцию и вернуться обратно к вводу? Создать 5 функцию с вводом команд?
У тебя должен быть основной цикл ввода команд. При вводе команды выполняется её функция и выходит обратно в цикл. Сам цикл ввода команд также находится в функции. А при создании структурированных меню нужно использовать конечный автомат, так как часто нужно подниматься из самого глубокого подменю в самые верхние, минуя все подменю в промежутке.



Офлайн

#6 Фев. 24, 2018 10:47:10

Xakep321
От: Украина, Харьков
Зарегистрирован: 2018-02-22
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Мое творение

py.user.next
Здравствуйте,
Хм, нужно будет попробовать, спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version