3925

Нейросети в руках школьника3

Серия Школьный альманах

Работаю 4 года учителем информатики в школе

Недавно разбирали с детьми код, который они сами же и написали.

Задание было простенькое, на каком-то из этапов программы нужно было проверить, что число оканчивается на 9 и вывести подтверждение.

Т.е. в стандартном виде, в котором это обычно пишут восьмиклассники, код выглядел бы примерно так:

a = int(input())

if a % 10 == 9:

print("YES")

Но мы же пользуемся нейросетями! И, конечно, тот же DeepSeek нам напишет идеально красиво, да ещё и переменные обзовёт так, чтобы было понятно, что там внутри!

Выглядит это уже следующим образом:

number = int(input())

last_digit = number % 10

if last_digit == 9:

print("YES")

И, конечно, по таким красивым названиям переменных ИИ легко палится.

Но суть даже не в том, что использованы электронные мозги. Суть в том, что работать надо и обычными.

Я, естественно, подхожу, и пытаюсь завязать сократовский диалог, чтобы девочка хотя бы поняла, что именно написано в коде. Получается с трудом:

— А вот last_digit — это что такое?

— ... Ну... Переменная.

Ага, уже не с нуля начинаем, хорошо.

— Что в этой переменной лежит?

— Число.

— Какое?

— Не знаю...

Ну тут уже надо подсказать!

— Ну вот смотри, нейросеть же для тебя старалась, писала название. Давай переводить. Last как с английского переводится?

— Э...

— (со стороны) Последний!

— Ага, вот, видишь, подсказывают, последний. А digit как переведём?

— Не знаю...

— Ну как же! Ты же знаешь, наверное, слово digital. Что оно означает?

— Современный?

— Ну почти. Довольно близко!

— (снова со стороны) Цифровой!

— О, вот у нас снова подсказка есть. Значит, если digital — цифровой, то digit — это?..

— ... Цифра?

— Бинго! А теперь объединяем!

— Последняя цифра?

— Именно! Значит, что содержится в этой переменной?

— Последняя цифра.

Молодец какая. Остались сущие пустяки — разобраться с остальными 20 строчками кода в программе и перестать уже бездумно списывать с нейросетями.

Для подписок на мое очень нужное мнение:
Пикабу.
Телеграм-канал.

Школьный уголок

2.2K поста3.9K подписчиков

Правила сообщества

Можно:

Писать всё, что можно отнести к школе.

...

Нельзя:

Нарушать правила Пикабу.

Вы смотрите срез комментариев. Показать все
76
Автор поста оценил этот комментарий

код с last_digit объективно лучше с точки зрения читаемости, чем школьный вариант с голым a % 10 == 9.

раскрыть ветку (28)
66
Автор поста оценил этот комментарий

Автор и не против. Он просто знает, что редкий школьник пишет так.

раскрыть ветку (2)
7
Введите текст
Автор поста оценил этот комментарий

Школьник пишет так, как его научили. Ученики тса пишут плохо, потому что тс их учит писать плохо.

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

А нет такого, что школьная программа так составлена, что требуют с учителей, чтоб они именно так учили? Да не, бред какой-то.

6
under construction
Автор поста оценил этот комментарий

проблема не в том, что школьник списал у нейросети,

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

проблема в том, что человек даже не попросил объяснить что каждая строка делает, не захотел разобраться


и эта проблема была и десятки лет назад.

списал у отличника, но ничего не понимаешь в том, что списал

и желания никакого нет


казалось бы: вот тебе мощнейшая железка, аккамулирующая знания миллионов человек, умеет на любой вопрос отвечать, но тебе ж падла просто неохота её спрашивать, тебе надо чтобы от тебя от.ебались с домашкой, тебе неинтересно это всё, что в школе, тебя надо просто распределить к свиньям в корыто насыпать, раз тебе ничего в жизни не нужно: ни литература, ни программирование, тебе уже даже считать до ста чтобы сдачу в магазине проверять лень знать, потому что банковское приложение само спишет нужное количество денег при оплате.

19
Автор поста оценил этот комментарий

Да, лучше. Но тут проблема не в названии переменных же, а в том, что девочка что-то скатала с нейросети, не удосужившись даже разобраться.

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

да чем про девочку говорить, тут взрослые скатываются

14
Автор поста оценил этот комментарий

Согласен с вами. Но пока что 8 класс, начавший программирование чуть ли не вчера, так не умеет писать.

раскрыть ветку (2)
3
Автор поста оценил этот комментарий
Научите их лайфаку - добавлять в промпт, что код пиши как 14 летний ребенок.
И всем станет спокойнее
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

по опыту, в нейросети лучше занижать возраст. "напиши, как 10-летний ребенок"

а еще лучше, если учитель все-таки будет учить их пользоваться нормальными именами для переменных сразу.
это несложно и доступно для понимания даже 6-классникам.

8
Автор поста оценил этот комментарий

Если вся программа занимает три строчки и видно что там происходит, как-то пофиг на названия переменных

раскрыть ветку (3)
2
Автор поста оценил этот комментарий

Скажем так, это вопрос прививания хороших привычек)

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

В целом вы конечно правы, но в тех же лямбдах или списочных выражениях (генераторах списков/словарей) не принято расписывать, достаточно i, k, v и подобных литералов или вообще '_'.

Если мелкая функция, в два действия, там тоже нет смысла упарываться в наименование, ведь это локальный скоуп и никуда эти переменные не уйдут, а читать быстрее.

Ради читаемости иногда можно и pep-8 нарушить.

Повторюсь, в целом вы правы.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ну, i, j, k, v вообще часть стандарта, по сути)
Но да, я понял, о чём вы, и тоже соглашусь.

0
Автор поста оценил этот комментарий

Ну кстати 9 тоже хорошо бы заменить на именованную константу.
https://ru.wikipedia.org/wiki/Магическое_число_(программирование)

раскрыть ветку (3)
0
Автор поста оценил этот комментарий

А можно не объявлять константой количество месяцев в году? )

раскрыть ветку (2)
2
Автор поста оценил этот комментарий

А вдруг когда-нибудь придётся адаптировать программу под другое количество месяцев! :)

Но, кстати, кроме шуток, наткнулся я как-то на очень показательный момент. В книге одного из мэтров теории разработки ПО (кажется, Фаулера) шла речь про магические числа, и он там приводил пример -- мол, ну совсем уж общеизвестные числа можно и не выносить в константы, а использовать прямо в коде. "Например, всем известное число 5280, оно отдельных пояснений не требует."

Ну как бы да, любой американец, наверно, с детства знает, что в миле 5280 футов...)

0
Автор поста оценил этот комментарий

Нет

ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества