Найти - Пользователи
Полная версия: помогите пожалуйста
Начало » Python для новичков » помогите пожалуйста
1 2
knkd
maxwell
caesar('xyz', 1) должен возвращать ‘yza’, а не следующие символы по ASCII.
А почему бы и нет?
В любом случае придётся выбирать таблицу символов, так почему бы не воспользоваться стандартной?
(Кстати, варьируя ((char + X)%Y) легко можно выбрать в ASCII нужный диапазон ;))

maxwell
Для «обучения» не обязательно писать все в одну строчку, тем более что это напрочь отбивает понимание «эффективности» программы.
Для обучения вообще не стоит давать решения :)
А если и давать то такие которые требуют для своего разбора больше труда чем для самостоятельного написания :) :)

maxwell
остаток от деления на 255 не дает «правильного» решения.
Насколько помню модульную арифметику - таки даёт.

maxwell
В случае с русскими символами работать вообще не будет.
С чего вдруг?
На DOS-терминале вообще будет работать без проблем. На UTF-8 тоже… но результат может не соответствовать ожиданиям :)
maxwell
knkd,
А почему бы и нет?
В любом случае придётся выбирать таблицу символов, так почему бы не воспользоваться стандартной?
(Кстати, варьируя ((char + X)%Y) легко можно выбрать в ASCII нужный диапазон ;))
Да, алфавит нужен, но я детям даю конкретное задание — используя ASCII получить «правильный Цезарь», т.е. именно поворот алфавита.
((char + X)%Y) — не получится варьировать.

Для обучения вообще не стоит давать решения :)
А если и давать то такие которые требуют для своего разбора больше труда чем для самостоятельного написания :) :)
Ну, если сложность разбора заключается в использовании специфических конструкций, которые ничего общего с программированием не имеют, то вы абсолютно правы.

Насколько помню модульную арифметику - таки даёт.
Модуль 255 дает числовой диапазон от 0..254, но это не относится к задаче.

И я не горю желанием лезть в чужой монастырь.
knkd
maxwell
Модуль 255 дает числовой диапазон от 0..254
упс… :)

maxwell
используя ASCII получить «правильный Цезарь», т.е. именно поворот алфавита.
Дык ASCII это ведь тоже алфавит. И мы его прибавлением по модулю поворачиваем.

maxwell
тем более что это напрочь отбивает понимание «эффективности» программы.
Если уж говорить за эффективность - за конкатенацию в цикле нужно бить по пальцам линейкой :)
Мне этого когда-то никто не сказал и я долго думал почему всё так медленно работает.
Какой глубинный смысл в джойне из одного элемента - науке тоже неизвестно.
maxwell
knkd, я нигде и не утверждал, что то решение хорошее :)

Остается надеется, что автор еще зайдет в этот топик и прочитает все что было написано после 7го ответа. ;)
ArsenEverlast
все прочитал, не переживайте :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB