ОТВЕТЫ НА МИНУС ОШИБКУ
Задание 1.
Ошибка в строке return 1.
Должно быть return 0. При h >= 50 игра уже закончена, выиграл предыдущий игрок, сделавший ход. Возврат 1 сломает подсчет ходов.
Задание 2.
Ошибка в строке return -max(petya_win).
Забыли + 1. Без прибавления единицы программа не сможет корректно посчитать количество ходов до победы.
Задание 3.
Ошибка в строке if game(s) == 1:.
Положительное число означает, что выигрывает текущий игрок (Петя). Чтобы выиграл Ваня, функция должна вернуть -1.
Задание 4.
Ошибка в строке for i in range(1, 49):.
range(1, 49) перебирает значения от 1 до 48 включительно. Значение 49 не будет проверено. Хоть и мало вероятно, что победа вторым ходом будет при S = 49, эта конструкция сохраняется во всех трех номерах, так что эта ошибка может стоить баллов.
Задание 5.
Ошибка в строке petya_win = [i for i in moves if i > 0].
Генератор ищет ходы, где значение > 0. Петя ходит первым и хочет перевести игру в состояние, где следующему игроку (Ване) будет плохо (то есть функция вернет <= 0). Исправление: if i <= 0.
Какую ошибку не удалось найти? Пишите — разберемся вместе! 🔥
Views: 103