Latest posts on Эволюция чайника)) topichttp://python.su/forum/topic/28617/2020-03-04T20:37:43+02:00Разное :: Флейм :: Эволюция чайника))
2020-03-04T20:37:43+02:00Paulo207907та сейчас каждый второй считает себя програмистом,и умничает при первой возможности об этом
Разное :: Флейм :: Эволюция чайника))
2015-12-16T02:17:00+02:00py.user.next155994<blockquote><em>shaptmos</em><br/>а на что менять последнюю букву алфавита?</blockquote>Есть <a href="http://python.su/forum/post/154799/">пример</a>.
Разное :: Флейм :: Эволюция чайника))
2015-12-15T22:26:54+02:00shaptmos155990а на что менять последнюю букву алфавита? (русского, украинского…эээ…китайского?)
Разное :: Флейм :: Эволюция чайника))
2015-11-26T04:41:53+02:00py.user.next154937<blockquote><em>old_monty</em><br/>Конечно, это как раз для новичков. Так я и не сомневался этом</blockquote>Просто может показаться, что это сложная задачка, если решения до сих пор нет. Но сложная задачка выглядит по другому. :)<br/>Главное, чтобы новички поняли, что питон тут вообще ни при чём.
Разное :: Флейм :: Эволюция чайника))
2015-11-25T17:02:07+02:00old_monty154908<blockquote><em>FishHook</em><br/>Значит, нужно сделать алфавит, соответствующий требованиям задачи.</blockquote><br/>Еще раз подумал об этом, и теперь уже полностью согласен. Хранить константу ALPHABET = “абвгдеёжзиклмн…АБВГДЕЁЖЗИКЛМН…” самое лучшее решение, и это даже если программа будет использоваться только для одного русского языка. Мы ведь ничем не рискуем. Вся строка не займет много места в памяти, а буквы русского алфавита вот уже почти столетие (после 1917 года, когда отменили “ѣ”, “ѳ” и некоторые др. буквы) остаются постоянными. А если в будущем и изменятся (крайне маловероятно, но все же), то опять-таки, изменить константу ALPHABET всего в одном месте очень легко. <br/> <br/>Спасибо за конструктивную критику.
Разное :: Флейм :: Эволюция чайника))
2015-11-25T16:37:38+02:00FishHook154897<blockquote><em>old_monty</em><br/>е соответствует требованиям задачи.</blockquote>Значит, нужно сделать алфавит, соответствующий требованиям задачи.<br/><blockquote><em>old_monty</em><br/>Так ведь именно за это ты меня ругал (причем вполне справедливо).</blockquote>Ты ничего не понял. Попробую с другого конца. Допустим, нам нужна программа, в которой мы работаем с сервером, нам нужно подключение к серверу, айпи-адрес и порт. Мы подразумеваем, что сервер запущен на локалхосте на восьмитысячном порту. Мы пишем (допустим)<br/><div class="code"><pre><span class="n">client</span> <span class="o">=</span> <span class="n">Client</span><span class="p">()</span>
<span class="n">connection</span> <span class="o">=</span> <span class="n">Connection</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="s">"127.0.0.1"</span><span class="p">,</span> <span class="n">port</span><span class="o">=</span><span class="mi">8000</span><span class="p">)</span>
<span class="n">client</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="n">connection</span>
<span class="n">client</span><span class="o">.</span><span class="n">connect</span><span class="p">()</span>
</pre></div>Вот тут мы именно захардкодили хост и порт. Мы сделали их литералами, а должны были сделать константами или переменными. Во-первых, это “магические числа”(гуглить), во-вторых, порт может быть занят другим приложением (например джангой), то есть мы должны иметь простую возможность одним изменением одного значения исправить порт во всей программе, а не искать где-же мы эти значения “захардкодили”.<br/><div class="code"><pre><span class="n">PORT</span> <span class="o">=</span> <span class="mi">8000</span>
<span class="n">HOST</span> <span class="o">=</span> <span class="s">"127.0.0.1"</span>
<span class="c"># .....</span>
<span class="n">client</span> <span class="o">=</span> <span class="n">Client</span><span class="p">()</span>
<span class="n">connection</span> <span class="o">=</span> <span class="n">Connection</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">HOST</span><span class="p">,</span> <span class="n">port</span><span class="o">=</span> <span class="n">PORT</span><span class="p">)</span>
<span class="n">client</span><span class="o">.</span><span class="n">connection</span> <span class="o">=</span> <span class="n">connection</span>
<span class="n">client</span><span class="o">.</span><span class="n">connect</span><span class="p">()</span>
</pre></div><br/>Когда я тебе дал новые условия задачи (украинский язык), ты должен был сделать элементарную вещь<br/><div class="code"><pre><span class="n">ALPHABET</span> <span class="o">=</span> <span class="s">"абвгґдеє...."</span>
</pre></div>и программа должна была правильно работать<br/><br/>
Разное :: Флейм :: Эволюция чайника))
2015-11-25T16:14:40+02:00old_monty154894<blockquote><em>FishHook</em><br/>Перечисление всех букв языка в определенном порядке. Кодовая таблица - тоже алфавит. </blockquote>С этим полностью согласен, но порядок следования букв в кодовой таблице, как я уже показал выше на примере букв ё, Ё и я, Я не соответствует требованиям задачи.<br/><br/><blockquote><em>FishHook</em><br/>То есть ты в программе так или иначе используешь алфавит<br/></blockquote>Да, но я обращаюсь к нему с помощью стандартных функций ord() и chr() - кроме случаев ё, Ё и я, Я, которые я тупо захардкодил.<br/><br/><blockquote><em>FishHook</em><br/>И что в этом плохого?<br/></blockquote>Так ведь именно за это ты меня ругал (причем вполне справедливо).
Разное :: Флейм :: Эволюция чайника))
2015-11-25T16:04:41+02:00FishHook154893<blockquote><em>old_monty</em><br/>а вы что понимаете под словом “алфавит”</blockquote>Перечисление всех букв языка в определенном порядке. Кодовая таблица - тоже алфавит. То есть ты в программе так или иначе используешь алфавит.<br/><blockquote><em>old_monty</em><br/>Запихать его полностью в словарь или список.</blockquote>И что в этом плохого?
Разное :: Флейм :: Эволюция чайника))
2015-11-25T16:00:19+02:00old_monty154892<blockquote><em>FishHook</em><br/>А что вы понимаете, под словом захардкодить?</blockquote>Запихать его полностью в словарь или список. Встречный вопрос, а вы что понимаете под словом “алфавит”?
Разное :: Флейм :: Эволюция чайника))
2015-11-25T15:55:53+02:00FishHook154891<blockquote><em>old_monty</em><br/>Полностью алфавит захардкодить, что ли?</blockquote>А что вы понимаете, под словом захардкодить?<br/>
Разное :: Флейм :: Эволюция чайника))
2015-11-25T15:53:27+02:00old_monty154890<blockquote><em>FishHook</em><br/>Ну а что если использовать алфавит?</blockquote>Как это? Полностью алфавит захардкодить, что ли?<br/>
Разное :: Флейм :: Эволюция чайника))
2015-11-25T15:49:57+02:00FishHook154889<blockquote><em>old_monty</em><br/>Все-таки, как расхардкодить случаи, когда буква “я” должна преобразоваться в “а”</blockquote>Ну а что если использовать алфавит?<br/>
Разное :: Флейм :: Эволюция чайника))
2015-11-25T15:40:30+02:00old_monty154888<blockquote><em>py.user.next</em><br/><blockquote><em>old_monty</em><br/>Я сам новичок и всего лишь дал свое решение задачи, которую py.user.next предложил для новичков.</blockquote>Это как раз для новичков. </blockquote>Конечно, это как раз для новичков. Так я и не сомневался этом, когда сказал, "задачи, которую <strong>py.user.next</strong> предложил для новичков". <br/><blockquote><em>py.user.next</em><br/>Просто сравни решения, начиная оттуда (как бойко они поступали), и заканчивая тем, к чему сейчас пришли. </blockquote>Не сказать, что очень бойко. За несколько суток поступило всего 2 решения, от <strong>ruskiy1</strong> и от меня. Ничтожно мало для такого крупного форума.<br/> <br/>Все-таки, как расхардкодить случаи, когда буква “я” должна преобразоваться в “а”, а буква “ё” в “ж”? Дело в том, что<br/><div class="code"><pre><span class="o">>>></span> <span class="nb">chr</span><span class="p">(</span><span class="nb">ord</span><span class="p">(</span><span class="s">'ё'</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
<span class="s">'ђ'</span>
<span class="o">>>></span> <span class="nb">chr</span><span class="p">(</span><span class="nb">ord</span><span class="p">(</span><span class="s">'я'</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
<span class="s">'ѐ'</span>
</pre></div>
Разное :: Флейм :: Эволюция чайника))
2015-11-25T15:08:33+02:00py.user.next154886<blockquote><em>old_monty</em><br/>Я сам новичок и всего лишь дал свое решение задачи, которую py.user.next предложил для новичков.</blockquote>Это как раз для новичков. Просто сравни решения, начиная <a href="http://python.su/forum/post/154760/">оттуда</a> (как бойко они поступали), и заканчивая тем, к чему сейчас пришли. Кажется-то одно, а оказывается совсем другое.
Разное :: Флейм :: Эволюция чайника))
2015-11-25T14:43:28+02:00FishHook154884<blockquote><em>old_monty</em><br/>А как сделать правильно?</blockquote><blockquote><em>old_monty</em><br/>Захардкодить еще и кавычки и скобки в словарь?</blockquote>Правильно, видимо, будет расхардкоживать то, что уже нахардкожено. <br/><br/>плохо<br/><div class="code"><pre><span class="k">return</span> <span class="nb">chr</span><span class="p">(</span><span class="nb">ord</span><span class="p">(</span><span class="n">word</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">+</span> <span class="n">word</span><span class="p">[</span><span class="mi">1</span><span class="p">:]</span>
</pre></div>лучше<br/><div class="code"><pre><span class="k">return</span> <span class="nb">chr</span><span class="p">(</span><span class="nb">ord</span><span class="p">(</span><span class="n">word</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">+</span> <span class="n">increment</span><span class="p">)</span> <span class="o">+</span> <span class="n">word</span><span class="p">[</span><span class="n">increment</span><span class="p">:]</span>
</pre></div>