Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 25, 2015 16:00:19

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Эволюция чайника))

FishHook
А что вы понимаете, под словом захардкодить?
Запихать его полностью в словарь или список. Встречный вопрос, а вы что понимаете под словом “алфавит”?

Офлайн

#2 Ноя. 25, 2015 16:04:41

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Эволюция чайника))

old_monty
а вы что понимаете под словом “алфавит”
Перечисление всех букв языка в определенном порядке. Кодовая таблица - тоже алфавит. То есть ты в программе так или иначе используешь алфавит.
old_monty
Запихать его полностью в словарь или список.
И что в этом плохого?



Офлайн

#3 Ноя. 25, 2015 16:14:40

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Эволюция чайника))

FishHook
Перечисление всех букв языка в определенном порядке. Кодовая таблица - тоже алфавит.
С этим полностью согласен, но порядок следования букв в кодовой таблице, как я уже показал выше на примере букв ё, Ё и я, Я не соответствует требованиям задачи.

FishHook
То есть ты в программе так или иначе используешь алфавит
Да, но я обращаюсь к нему с помощью стандартных функций ord() и chr() - кроме случаев ё, Ё и я, Я, которые я тупо захардкодил.

FishHook
И что в этом плохого?
Так ведь именно за это ты меня ругал (причем вполне справедливо).

Офлайн

#4 Ноя. 25, 2015 16:37:38

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Эволюция чайника))

old_monty
е соответствует требованиям задачи.
Значит, нужно сделать алфавит, соответствующий требованиям задачи.
old_monty
Так ведь именно за это ты меня ругал (причем вполне справедливо).
Ты ничего не понял. Попробую с другого конца. Допустим, нам нужна программа, в которой мы работаем с сервером, нам нужно подключение к серверу, айпи-адрес и порт. Мы подразумеваем, что сервер запущен на локалхосте на восьмитысячном порту. Мы пишем (допустим)
client = Client()
connection = Connection(host="127.0.0.1", port=8000)
client.connection = connection
client.connect()
Вот тут мы именно захардкодили хост и порт. Мы сделали их литералами, а должны были сделать константами или переменными. Во-первых, это “магические числа”(гуглить), во-вторых, порт может быть занят другим приложением (например джангой), то есть мы должны иметь простую возможность одним изменением одного значения исправить порт во всей программе, а не искать где-же мы эти значения “захардкодили”.
PORT = 8000
HOST = "127.0.0.1"
# .....
client = Client()
connection = Connection(host=HOST, port= PORT)
client.connection = connection
client.connect()

Когда я тебе дал новые условия задачи (украинский язык), ты должен был сделать элементарную вещь
ALPHABET = "абвгґдеє...."
и программа должна была правильно работать



Отредактировано FishHook (Ноя. 26, 2015 06:25:00)

Офлайн

#5 Ноя. 25, 2015 17:02:07

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Эволюция чайника))

FishHook
Значит, нужно сделать алфавит, соответствующий требованиям задачи.

Еще раз подумал об этом, и теперь уже полностью согласен. Хранить константу ALPHABET = “абвгдеёжзиклмн…АБВГДЕЁЖЗИКЛМН…” самое лучшее решение, и это даже если программа будет использоваться только для одного русского языка. Мы ведь ничем не рискуем. Вся строка не займет много места в памяти, а буквы русского алфавита вот уже почти столетие (после 1917 года, когда отменили “ѣ”, “ѳ” и некоторые др. буквы) остаются постоянными. А если в будущем и изменятся (крайне маловероятно, но все же), то опять-таки, изменить константу ALPHABET всего в одном месте очень легко.

Спасибо за конструктивную критику.

Отредактировано old_monty (Ноя. 25, 2015 19:30:16)

Офлайн

#6 Ноя. 26, 2015 04:41:53

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

Эволюция чайника))

old_monty
Конечно, это как раз для новичков. Так я и не сомневался этом
Просто может показаться, что это сложная задачка, если решения до сих пор нет. Но сложная задачка выглядит по другому. :)
Главное, чтобы новички поняли, что питон тут вообще ни при чём.



Отредактировано py.user.next (Ноя. 26, 2015 04:42:58)

Офлайн

#7 Дек. 15, 2015 22:26:54

shaptmos
Зарегистрирован: 2015-12-12
Сообщения: 27
Репутация: +  4  -
Профиль   Отправить e-mail  

Эволюция чайника))

а на что менять последнюю букву алфавита? (русского, украинского…эээ…китайского?)

Офлайн

#8 Дек. 16, 2015 02:17:00

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

Эволюция чайника))

shaptmos
а на что менять последнюю букву алфавита?
Есть пример.



Офлайн

#9 Март 4, 2020 20:37:43

Paulo
Зарегистрирован: 2020-03-03
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Эволюция чайника))

та сейчас каждый второй считает себя програмистом,и умничает при первой возможности об этом

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version