Сначала договоритесь о правиле
Возьмём игру с прыжком из практикума SCRIPT. Прыжок считается удачным, когда левая сторона героя находится на платформе. Возможная ошибка в ответе ИИ — проверить центр героя: return center >= 264.
Подберите пример, который поймает ошибку
При силе прыжка 10 центр доходит до отметки 266, а левая сторона — только до 254. Платформа начинается на 264. Проверка центра даёт «долетел», хотя по условию герой должен упасть. При силе 11 левая сторона доходит до 269, и прыжок действительно удаётся.
Проверьте три случая
Запустите исправленный код. assert проверяет, совпал ли ответ программы с ожидаемым. Затем временно замените center - 12 на center и посмотрите, какая проверка остановит программу.
def check_jump(power):
center = 116 + power * 15
return center - 12 >= 264
assert check_jump(9) is False
assert check_jump(10) is False
assert check_jump(11) is True
print("Все три проверки прошли")
После замены не пройдёт проверка для силы 10. Попросите ребёнка объяснить почему, а затем придумать ещё один тест, в котором левая сторона героя окажется точно на границе платформы.
Хотите, чтобы ребёнок попробовал программирование с преподавателем? Оставьте заявку на пробное занятие SCRIPT. Урок проходит онлайн на русском, один на один. Преподаватель подберёт задачу по возрасту и опыту. Актуальная стоимость и длительность указаны в блоке цен.