Файл с текстом параграфа
Файл с текстом параграфа
Скачать файл: Обработка числовых данных
Re: Файл с текстом параграфа
summa и count -- не очень удачный выбор названий. Если уж count, то должно быть sum.
В заданиях появляются вопросы о загрузке всего файла в оперативную память; рассуждения, о которых я писал в предыдущем параграфе, здесь бы как раз помогли (уже будут знать, что так делать нельзя).
В заданиях появляются вопросы о загрузке всего файла в оперативную память; рассуждения, о которых я писал в предыдущем параграфе, здесь бы как раз помогли (уже будут знать, что так делать нельзя).
Re: Файл с текстом параграфа
Задача б) в повышенной сложности. Строка "минимальную из сумм таких пар" -- опечатка, должно быть троек.
Re: Файл с текстом параграфа
1. В продолжение предыдущего параграфа, в начале текущего можно было бы упомянуть, что хранение чисел в виде текстового файла -- не единственный способ хранения чисел в файле (и вообще говоря весьма неоптимальный). Для простоты работы мы используем его, но вообще говоря, во взрослых программах, обычно делают по-другому.
2. with снова назван менеджером контекста, что некорректно. Расплывчатая формулировка про "блок операторов, записанные с отступом относительно ключевого слова" мне тоже не очень нравится. Мне кажется? можно честно написать "блок операторов, являющихся частью оператора with". Составные операторы ранее вводились на примере условного оператора, и про отступ там тоже было.
3. И снова я бы не стал рекламировать как более короткую запись for ... in open(...) -- она строго хуже варианта с with, так как нет контроля над тем, когда будет закрыт файл. Если я правильно понимаю, такие конструкции рекомендуется избегать.
4. Задача 2. Меня смущает, что для решения одной и той же проблемы (отсутствие прерыдущего значения) для переменных prev и max_sum используется разный подход (None в первом случае, валидное значение во втором случае). Если просто хочется показать оба приема, мне кажется следует пояснить, какой из них стоит выбирать в какой ситуации и почему. В данной задаче понтяно (хотя и не объясняется), почему None использовать во втором случае не так удобно -- иначе придется делать лишнюю проверку перед вызовом max, однако почему не применить тот же прием, и не присвоить переменной prev заранее такое значение, которое заведомо не пройдет другие условия, не очень понятно (и также не объясняется).
2. with снова назван менеджером контекста, что некорректно. Расплывчатая формулировка про "блок операторов, записанные с отступом относительно ключевого слова" мне тоже не очень нравится. Мне кажется? можно честно написать "блок операторов, являющихся частью оператора with". Составные операторы ранее вводились на примере условного оператора, и про отступ там тоже было.
3. И снова я бы не стал рекламировать как более короткую запись for ... in open(...) -- она строго хуже варианта с with, так как нет контроля над тем, когда будет закрыт файл. Если я правильно понимаю, такие конструкции рекомендуется избегать.
4. Задача 2. Меня смущает, что для решения одной и той же проблемы (отсутствие прерыдущего значения) для переменных prev и max_sum используется разный подход (None в первом случае, валидное значение во втором случае). Если просто хочется показать оба приема, мне кажется следует пояснить, какой из них стоит выбирать в какой ситуации и почему. В данной задаче понтяно (хотя и не объясняется), почему None использовать во втором случае не так удобно -- иначе придется делать лишнюю проверку перед вызовом max, однако почему не применить тот же прием, и не присвоить переменной prev заранее такое значение, которое заведомо не пройдет другие условия, не очень понятно (и также не объясняется).
Re: Файл с текстом параграфа
Тогда мы перекроем встроенную функцию sum - это еще хуже.bonzo wrote: Tue Jun 16, 2026 8:29 pm summa и count -- не очень удачный выбор названий. Если уж count, то должно быть sum.
Нужно понимать, когда это можно делать. В задачах ЕГЭ, например, можно.bonzo wrote: Tue Jun 16, 2026 8:29 pm В заданиях появляются вопросы о загрузке всего файла в оперативную память; рассуждения, о которых я писал в предыдущем параграфе, здесь бы как раз помогли (уже будут знать, что так делать нельзя).
Re: Файл с текстом параграфа
Спасибо, поправил.nikolay wrote: Wed Jun 17, 2026 1:58 pm Задача б) в повышенной сложности. Строка "минимальную из сумм таких пар" -- опечатка, должно быть троек.
Re: Файл с текстом параграфа
Добавлено.Neket wrote: Wed Jun 17, 2026 3:33 pm 1. В продолжение предыдущего параграфа, в начале текущего можно было бы упомянуть, что хранение чисел в виде текстового файла -- не единственный способ хранения чисел в файле (и вообще говоря весьма неоптимальный). Для простоты работы мы используем его, но вообще говоря, во взрослых программах, обычно делают по-другому.
Исправлено.Neket wrote: Wed Jun 17, 2026 3:33 pm 2. with снова назван менеджером контекста, что некорректно. Расплывчатая формулировка про "блок операторов, записанные с отступом относительно ключевого слова" мне тоже не очень нравится. Мне кажется? можно честно написать "блок операторов, являющихся частью оператора with". Составные операторы ранее вводились на примере условного оператора, и про отступ там тоже было.
Хорошо, согласен, заменил везде на with.Neket wrote: Wed Jun 17, 2026 3:33 pm 3. И снова я бы не стал рекламировать как более короткую запись for ... in open(...) -- она строго хуже варианта с with, так как нет контроля над тем, когда будет закрыт файл. Если я правильно понимаю, такие конструкции рекомендуется избегать.
Но в школьных задачах такой вариант отлично срабатывает. Хотя для серьезных программ - да, нехороший стиль.
Мне казалось, что запись в max_sum начального значения, меньшего, чем все возможные реальные значения - это совершенно стандартный приём, на котором не стоит особо заострять внимание. На мой взгляд, для prev не подобрать валидного значения, потому что в условии or, так что если условие abs(n)%7==0 сработает для первого числа в последовательности, то мы посчитаем лишнюю пару.Neket wrote: Wed Jun 17, 2026 3:33 pm 4. Задача 2. Меня смущает, что для решения одной и той же проблемы (отсутствие прерыдущего значения) для переменных prev и max_sum используется разный подход (None в первом случае, валидное значение во втором случае). Если просто хочется показать оба приема, мне кажется следует пояснить, какой из них стоит выбирать в какой ситуации и почему. В данной задаче понтяно (хотя и не объясняется), почему None использовать во втором случае не так удобно -- иначе придется делать лишнюю проверку перед вызовом max, однако почему не применить тот же прием, и не присвоить переменной prev заранее такое значение, которое заведомо не пройдет другие условия, не очень понятно (и также не объясняется).
Почему неудобно в max_sum записывать None, я пояснил в добавленном абзаце.
Спасибо за замечания.