Найти - Пользователи
Полная версия: Эволюция чайника))
Начало » Флейм » Эволюция чайника))
1 2 3 4
old_monty
FishHook
А что вы понимаете, под словом захардкодить?
Запихать его полностью в словарь или список. Встречный вопрос, а вы что понимаете под словом “алфавит”?
FishHook
old_monty
а вы что понимаете под словом “алфавит”
Перечисление всех букв языка в определенном порядке. Кодовая таблица - тоже алфавит. То есть ты в программе так или иначе используешь алфавит.
old_monty
Запихать его полностью в словарь или список.
И что в этом плохого?
old_monty
FishHook
Перечисление всех букв языка в определенном порядке. Кодовая таблица - тоже алфавит.
С этим полностью согласен, но порядок следования букв в кодовой таблице, как я уже показал выше на примере букв ё, Ё и я, Я не соответствует требованиям задачи.

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

FishHook
И что в этом плохого?
Так ведь именно за это ты меня ругал (причем вполне справедливо).
FishHook
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 = "абвгґдеє...."
и программа должна была правильно работать

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

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

Спасибо за конструктивную критику.
py.user.next
old_monty
Конечно, это как раз для новичков. Так я и не сомневался этом
Просто может показаться, что это сложная задачка, если решения до сих пор нет. Но сложная задачка выглядит по другому. :)
Главное, чтобы новички поняли, что питон тут вообще ни при чём.
shaptmos
а на что менять последнюю букву алфавита? (русского, украинского…эээ…китайского?)
py.user.next
shaptmos
а на что менять последнюю букву алфавита?
Есть пример.
Paulo
та сейчас каждый второй считает себя програмистом,и умничает при первой возможности об этом
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