15 спичек как выиграть
Логическая игра «Спички», или вспоминаем форт Боярд
Помните замечательную телеигру «форт Боярд»? Там было много интересного и разного, но мне особенно запомнились комнаты «мастеров Игры» (я помню их именно так, хотя где-то эти ребята названы как Мэтры времени). Что интересно, задания с Мэтрами далеко не всегда требовали от участников силы, удачи или ловкости. Порой нужно было включить мозг и хорошенько подумать. К сожалению, тикающее время не давало такой возможности.
Одна из самых запоминающих игр в таких комнатах называлась «Палочки». Суть очень проста: перед участником и Мастером 20 палочек. Ходят по очереди. Каждый в свой черёд может взять от 1 до 3 палочек. Проигрывает тот, кто берёт последние.
Если как следует подумать, игра довольно простая. Но стрессовая ситуацию плюс уменьшающееся время, иногда приводили к курьёзным ситуациям. Например, участник из 2 оставшихся палочек брал… две, и проигрывал. Из 81 одного раза, что проводилось данное испытание, гости «форта» одержали 31 победу.
Данную программу начали показывать в девяностых. Сказать, что это смотрелось круто — значит промолчать.
Через какое-то время я, совершенно случайно, нашёл книгу логических задач середины прошлого столетия. И там было описание игры «Спички». Так вот, суть абсолютно та же, что и у «Палочек».
Правила игры «Спички»
Играют два человека. Перед ними на столе в ряд выложено 20 спичек. Каждый в свой ход может взять от 1 до 3 спичек. Ходы выполняются по очереди. Проигрывает участник, взявший последнюю спичку (или спички).
Суть логических игр
Как видно, всё предельно просто. Но оттого процесс становится более захватывающим.
Можно брать произвольное число спичек, а можно немножко подумать и найти алгоритм, при котором получив ход с 10+ спичек однозначно довести партию до выигрыша.
Это логическая задача, в которой всё гораздо проще шахмат. И в этом очевидный плюс для новичков.
В шахматах можно совершать идеальные ходы, исходя из текущей расстановки фигур, и обыгрывать всех знакомых. Но если попытаться сразиться с КМС или более сильным игроком, последует горькое поражение.
Дело в том, что обычно люди думают на 1-2 хода вперёд. И мастера этим могут воспользоваться: жертвуя ладью или ферзя, гроссмейстер заманивает оппонента в невыгодную для того (или наоборот, выгодную для себя) позицию.
Суть игры «Спички»
Можно ходить не думая до тех пор, пока не останется 4-6 спичек, а потом попытаться подумать и выиграть, или найти правильный ход, при котором у оппонента не будет шансов (зависит от количества оставшихся спичек).
Например, если игрок получает ход, на котором поле содержит 6 спичек — это 100% победа. При условии, что игрок возьмёт 1 спичку.
Если же игрок получает ход и 5 спичек, это 100% поражение. Опять же, при условии, что оппонент не протупит.
Самое забавно, здесь есть «алгоритм Б*га» (100% победа) даже при получении хода с 10+ спичек.
Игра «Спички»
Обо всём рассказал, настало время что-то предложить. Хотите попробовать свои силы в этой игре?
Если не терпится, листайте страничку ниже.
В игре предусмотрено 2 уровня сложности:
- Лузер компьютер на каждом ходе вытягивает произвольное количество спичек. Выигрышный алгоритм включается, когда он получит ход и менее 5 спичек. Как мы помним, 1 спичка — это проигрыш, так как игрок в свой ход обязан взять хотя бы одну спичку.
- Продвинутый более сложный вариант, компьютер включает «алгоритм победы» уже при 12 спичках — до этого «ходит» случайно. Но победить его всё равно можно, для этого, правда, придётся подумать. Или быть очень удачливым человеком.
Игрок берёт спички слева, компьютер — справа. Такое сделано исключительно для удобства. Для хода наведите мышку на 1-3 крайние левые спички (их фон станет жёлтым) и подтвердите выбор кликом.
И ещё один момент. Вы не можете забрать 2 или 3 последние спички. Подобный ход означал бы автоматический проигрыш из-за невнимательности, потому он запрещён.
Делитесь в комментариях, как быстро вам удалось обыграть «продвинутый» компьютер. Было сложно? И вообще, нужно ли делать ещё что-то логическое?
Хочется разместить игру на своём сайте? Просто добавьте в код страницы (там, где должна располагаться игра) следующее:
Качество Вызывает Уважение
пятница, 25 мая 2012 г.
Задачки на сообразительность — 12: Ответы
Ответы на задачки №12
15 спичек
Дано 15 спичек. Игра состоит в том, чтобы каждый из игроков по очереди берет 1,2 или 3 спички. Взявший последнюю спичку проигрывает
Вопрос: Вы начинаете первым. Какой стратегии вы должны придерживаться, чтобы выиграть?
Ответ:
1) Нельзя брать последнюю спичку — она должна попасть нашему противнику.
2) Чтобы нам не брать последнюю спичку нужно взять 1,2 или 3 спички, т.е. инициатива по взятию 1-3 спичек должна быть на нашей стороне. Т.е. Мы должны получить 4-ую спичку, а следовательно 5 спичек должно достаться нашему врагу.
3) Рассуждая точно также как в пункте 2 мы не должны получить 9 спичек,
4) Рассуждая как на шаге 2 мы не должны получить 12 спичек
5) Стратегия для 15 спичек — взять 2 спички и отдать 13 спичек противнику. Затем, в зависимости от того, сколько он взял спичек отдавать ему 9 а потом и 5.
12 подвесок
В дверь громко забарабанили, надавили, и она слетела с петель. В комнату ворвались Анна Австрийская, мадам Бонасье и слуги. С колен шевалье д’Артаньяна вспорхнула полуодетая графиня де ля Фэр.
«Где двенадцатый подвесок, негодяй?» — Констанция влепила крепкую затрещину д’Артаньяну.
«Ик. дык вон он. на графине!» — ответил очень пьяный д’Артаньян.
«Он лжёт!» — завопила графиня, но ее схватили, раздели и тщательно обыскали. Ничего не нашли.
Обыскали д’Артаньяна. Ничего.
«Налейте мне водки!» — королева Анна от волнения вся пошла пятнами. «Меня ждет Его Величество».
.
Король пришел в восторг, увидев на королеве все 12 подвесок.
Вопрос: Где были подвески?
Ответ: На графине. на графине с водкой.
Синие и красные
Есть 50 красных и 50 синих бумажек и 2 шапки. Ведущий закрывает глаза. Игрок распределяет бумажки между шапками. Ведущий достает из шапки случайную бумажку. Если бумажка синяя — выигрывает игрок. Если красную — ведущий.
Вопрос: Как увеличить вероятность победы игрока? Не класть красные бумажки (читить) — нельзя.
Ответ: Одну синюю бумажку положить в одну шапку. 49 синих бумажек положить в другую шапку с красными. Вероятность выигрыша составит 74.5%
1) Вероятность того, что мы вытащим синюю из шапки где только синие = 100%, но поскольку шапки две, то полная вероятность для данной шапки = 100*0.5 = 50%
2) Вероятность того, что мы вытащим синюю из шапки, где 49 синих и 50 красных = 49/99 = 0.49%, общая вероятность 0.49*0.5 = 0.245
3) Полная веротность = 0.245 + 0.5 = 0.745 т.е. 74.5%
Кофе с молоком
Есть два одинаковых стакана. Один с кофе, другой с молоком. Налито поровну. Из первого стакана переливают ложку молока в стакан с кофе. Размешивают. Из второго стакана обратно в первый переливают ложку кофе (уже с молоком).
Вопрос: Чего больше: кофе в молоке или молока в кофе?
Ответ: Одинаково. Кофе в молоке и молока в кофе находится одинаково: V1*V2 / (V1+V2), где V1 — объем стакана, V2 — объем ложки
1) После переливания ложки молока в кофе
1.1 Объем в стакане с молоком V1-V2
1.2 Объем в стакане с кофе+молоко V1+V2
1.3 Содержание кофе в стакане кофе+молоко = V1/(V1+V2)
1.4 Содержание молока в стакане с кофе+молоко V2(V1+V2)
2) После переливания смешанной смеси молока и кофе в стакан с молоком
2.2 Объем кофе в ложке V2 * V1/ (V1+V2) а следовательно именно этот объем находится в стакане с молоком
2.3 Объем молока в стакане с кофе V1 * V2/(V1+V2)
Поезд по кругу
Есть поезд который катается по кругу. Все его вагоны сцеплены друг с другом. Т.е. Вы по кругу можете всегда дойти до того вагона, из которого вышли.
В вагонах свет включен или выключен случайным образом.
Необходимо посчитать количество вагонов.
Можно только включать или только выключать свет, больше никаких указателей оставлять нельзя. Окна закрыты и увидеть другие вагоны нельзя.
Игра 3+5+7 спичек
Для тех, кто ни разу не играл, объясняю правила игры.
Пятнадцать спичек раскладываются в три ряда. В первый ряд кладут 3 спички, во второй 5 спичек, в третий 7 спичек, как показано на верхнем рисунке. Двое игроков берут по очереди спички. За один свой ход можно брать любое количество спичек, но только с одного ряда. Стало быть, при своем первом ходе игрок может взять от одной до семи спичек (забрать весь нижний ряд). Проигравшим является тот, кто берет последнюю спичку.
На первый взгляд ничего сложного. Но это если вы никогда не пробовали раньше играть в эту игру. По сути дела никакой игры нет, ибо выигрыш уже обеспечивается первым же ходом. А дальше идёт простое доигрывание. Но многие включают математическую логику, морщат лоб, со стороны это выглядит забавным.
Дубликаты не найдены
Вот и выросло поколение, не смотревшее форт Байярд. Там были игры такого типа.
Игра Ним. Частный случай.
А раньше на игре сим учили двоичной алгебре..
А тут чувак просто выкинул пару правил, и все.. смотрите, говорит, как просто))))
а если просто оставлять 1 спичку в ряду после хода?тогда с большой вероятностью ее придется взять противнику.
Не слушайте дураков, есть 2 варианта, либо забирать весь ряд, либо забирать не весь ряд, других вариантов нет, количество спичек в рядах — обманка,
Итак , вы забираете весь ряд, другой человек либо забирает ещё ряд(тогда вы забираете из последнего все спички, кроме одной и он проигрывает) либо забирает не весь ряд(если осталась 1 спичка, забираете другой ряд целиком и он проигрывает) либо осталось больше 1 спички и вы забираете из другого ряда все спички кроме 2, когда один из рядов закончится, вы тупо забираете из другого все спички до одной и он проигрывает
Не факт. Беру из любого ряда.
просто в описании явно пропущено какое то условие, с тем что там написано тот кто ходит первым всегда будет побеждать
Это не есть условие. Я могу ходить вторым и всё равно выиграю. Это как в напёрстках, игры как таковой нет, одно шулерство.
Я хожу первым и убираю все семь спичек из 3 ряда
Делаю 3-3, убрал 2 из второго.
и ты выиграл хД, неплохо, значит наоборот есть какой то вариант первого хода, который дает автовин? а в любом другом случае побеждает второй
Беру из любого ряда первым и выигрываю.
Игра не сложная. Просто надо знать все выигрышные комбинации.
Вариантов несколько. Когда мы с приятелем освоили полностью алгоритм, то перестали играть друг с другом. Я хожу, он говорит: сдаюсь, я проиграл. И наоборот.
Ты как будто добрался до задач из егэ по информатике
Близко не лежало:
Задания для подготовки к ЕГЭ по информатике и ИКТ. Вопрос B15.
Сколько существует различных наборов значений логических переменных x1, x2, x3, x4, x5, y1, y2, y3, y4, y5, которые удовлетворяют всем перечисленным ниже условиям?
(x1→x2) / (x2→x3) / (x3→x4) / (x4→x5 ) = 1
(y1→y2) / (y2→y3) / (y3→y4) / (y4→y5 ) = 1
В ответе не нужно перечислять все различные наборы значений переменных x1, x2, x3, x4, x5, y1, y2, y3, y4, y5, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.
я сдавал егэ по информатике 3 года назад, там в части C есть задачи такого типа
Сдаюсь. Я проиграл.
Такие времена
Мой отец: строил атомные электростанции, заводы, пароходы, собственный дом и в ус не дул.
Я: заменил гофру на котле и шланг в душевой — уже второй день хожу, горжусь собой. Жена говорит что я её герой.
Не опять, а снова
Что делать, если оказался на рельсах в метро?
Видеоинструкция о том — что делать, ежели завалился на рельсы в метро.
Ответ на пост «Совсем уже обнаглели»
В 2013 году устроился в Ашан на приёмку. И все там было отлично. Зарплата на момент трудоустройства 35к с премией. Оплачиваемые отпуска, мед обслуживание по карте немецкой страховой Alliance, куда были включены большая часть платных клиник Москвы. За пять лет работы в Ашане, я лечил себе зубы, делал бесплатно МРТ и прочее, все включено в стоимость страховки.
Два раза в день походы в столовую, которая 75% оплачивалась компанией Вот такой вот обед, всего за 65 рублей для сотрудников Ашан.. Если ты работаешь больше года, тебе раз в год капали акции Ашана в евро, которые индексировались вместе с зарплатой и премией. Забрать можно было не ранее чем через 5 лет работы или ранее на личные нужды, такие как рождение ребенка, свадьба, покупка жилья и прочее. Я так оплатил свадьбу, сняв после двух лет, акций на 130к. Так как работа не только днём, но и ночью занимались приемом товара, то соответственно и ночные смены оплачивались по тарифу +30%. Так же плюсом шли и праздничные дни которые оплачивались +100%. К примеру за январские праздники можно было смело поднять от 60к до 75к.
Еще большим праздником были командировки в другие города. Отправляли меня как то в г.Владимир на 2 недели. Оплатили номер в отеле золотое кольцо, с завтраками и обедами, компенсация за такси, ну и надбавка к ЗП 60к за 2 недели. В Ашане котором я работал была спорт комната, в перерывах между работой можно было поиграть в пинг-понг. А ещё комната отдыха, курилка, актовый зал, массажная комната релаксации и прочее.
А потом.
Потом Пьер Жермен, ген директор Ашан Россия уехал обратно во Францию, так как его 15 летняя миссия по развитию Ашана в Росси кончилась, гендиром сделали русских и все пошло по пизде. Ко-нец!
Вариации на тему игры Баше
Разбор классической математической игры
- IV Интернет-олимпиада по математике/XIV тур Математического Марафона (12)→
- XV тур математического марафона (12)→
- Вторая открытая Интернет-олимпиада по математике (9)→
- Третья Интернет-олимпиада по математике/XIII тур Математического Марафона (12)→
- Задачи конкурса Ponder This компании IBM (7)→
- Задачи областной олимпиады по математике 2010 (5)→
- Первая открытая Интернет-олимпиада по математике (9)→
- Задачи областной олимпиады по математике 2009 (5)→
- Как доказывать олимпиадные неравенства
- Задачи международного турнира
- XXI тур Математического Марафона
- Отбор на XVI Всеукраинский турнир — Часть 2
- Отбор на XVI Всеукраинский турнир — Часть 1
- Далеко, далеко, на лугу пасутся ко.
- Людоед и гномики
- Поиск фальшивой монеты
- Два парома
- Как вычислять бесконечные суммы: часть 1
- Вариации на тему игры Баше
- Мотоциклист, велосипедист и пешеход
- Утроение числа после перестановки цифр
- Как вычислять бесконечные суммы: часть 2
- Задача о поиске радиоактивных шаров
- Нестандартное решение задачи по теории вероятности
- Математические маневры
- Задача о двух мудрецах
- Ранжирование грузов по весу
Задача
На столе лежат 25 спичек. Два игрока по очереди могут брать 1, 2, 3 или 4 спички. Выигрывает тот, кто забирает последнюю спичку. Кто выиграет при правильной игре?
Решить ту же задачу, если игроки могут брать 1, 3 или 6 спичек.
Решение
Первый вариант игры представляет собой игру Баше с максимальным ходом, равным 4. Будем анализировать игру «с конца». Если остаётся 1, 2, 3 или 4 спички, то тот игрок, чья очередь хода, забирает их и выигрывает. Если остаётся 5 спичек, то, сколько спичек ни возьми, второй игрок забирает остальные и выигрывает. Следовательно, нужно постараться оставить сопернику 5 спичек после своего хода. Это можно сделать, имея от 6 до 9 спичек на столе во время своего хода.
Далее находим, что если на столе остаётся 10 спичек, то игрок, делающий ход проиграет, поскольку, сколько бы он ни взял, противник своим ходом сможет оставить ему 5 спичек. Далее, аналогично определяем, что проигрышными для игрока, делающего ход, являются количества спичек, равные 15, 20 и 25.
Поскольку вначале спичек 25, то решение таково: выиграет второй игрок, если будет всегда своим ходом оставлять первому число спичек, кратное 5-ти.
И в общем случае: если в игре Баше игроки могут делать ходы от 1 до k, то для победы требуется оставлять сопернику кратное (k+1) число спичек. И, если начальное количество также кратно (k+1), то выигрывает второй игрок, а если нет – то первый.
Вторая игра в задаче намного интереснее. На её примере можно научиться находить выигрышную стратегию для практически любой математической игры.
Всего в игре может образоваться 26 позиций: от 25 до 0 спичек на столе. Построим таблицу из 26 столбцов (это удобно делать на листках в клеточку)
Выигрышная стратегия – играем с палочками
В каких играх мы продумываем стратегию игры?
В каких играх наш ход зависит от действий партнера?
В каких играх мы обдумываем каждый свой ход?
Это игры с выигрышной стратегией – шашки, домино, нарды, шахматы,…
Стратегия – это последовательность ходов в игре.
Выигрышная стратегия – стратегия, которая обязательно приведет игрока к победе.
Выигрышная стратегия зависит от выигрышной или проигрышной позиции.
Есть игры, в которых для одного игрока можно указать стратегию, которая окажется выигрышной независимо от действий соперника.
Попробуем определить какая стратегия будет выигрышной в наших играх с палочками.
Игра «Один или два»
(можно выбирать за один ход один или два элемента, кто забрал последнюю палочку, тот выиграл)
В данной игре как бы ни ходил «+», выигрывает «-», если не ошибается (дополняет каждый ход «+» до трех предметов).
Делаем вывод, выигрышная стратегия игры: выбор хода зависит от количества палочек.
Если разделить палочки на группы по три, то выбираем ход №1 и забираем эти «лишние» палочки.
В первой игры лишних палочек не было, поэтому, чтобы выиграть нужно выбрать ход №2.
А во второй игре 2 лишние палочки, поэтому выбираем ход №1 и забираем эти лишние палочки.
Игра «Не больше трех»
(можно забирать за один ход один, два или три элемента, кто забрал последнюю палочку, тот выиграл)
Понаблюдайте, кто выигрывает и почему.
Начинает забирать палочки «-», выигрывает «+».
Начинает забирать палочки «+» и выигрывает «+».
Делаем вывод, выигрышная стратегия игры: делим палочки на группы по 4, если есть лишние,
то выбираем ход №1 и забираем эти лишние палочки.
Если нет лишних, то выбираем ход №2 и дополняем ход другого игрока до 4 палочек.
С данными играми мы знакомимся в курсе «Информатика в играх и задачах» в 3 классе.
Так же в эти игры мы играем с детьми на развивающих занятиях с психологом.
В эти игры можно играть на школьной доске – зачеркивая палочки, на столе со спичками или счетными палочками и используя интерактивную презентацию
“Выигрышная стратегия – играем с палочками”.
Презентацию можно скачать здесь
До новых встреч, с уважением Наталия.
Статья предназначена только для частного ознакомления. Копирование и публикация ТЕКСТОВ, ФОТОГРАФИЙ, ПРЕЗЕНТАЦИЙ в других источниках ЗАПРЕЩЕНЫ.
Пишем игру «15 спичек» на python
Попробуем написать игру, известную как «15 спичек», на языке python. Напомним правила этой игры. У нас есть 15 спичек. Каждый игрок по очереди берет за ход по одной, две или три спички. Выигрывает тот, кто забирает оставшиеся спички.
Для начала определим логику игры. У нас будет игрок и компьютер, наш ai, который будет делать ходы. Вынесем действия игрока и ai в отдельные функции, для удобства организации игрового цикла. Каждая функция будет принимать текущее значение спичек и возвращать количество спичек, которое нужно убрать за ход.
Но начнем мы написание с функции start() в которой укажем название игры и кратко напомним о правилах игры.
Эта функция будет выводить текст на экран используя оператор вывода print().
Дальше нам понадобится еще одна служебная функция, которая будет определять за кем будет первый ход в игре. Выделим три варианта: первым ходит игрок, первым ходит компьютер или случайный выбор. Для этого пользователю нужно ввести 0, 1 или 2.
Сначала выведем информацию о возможных вариантах. Затем организуем бесконечный цикл while для возможного повтора ввода если пользователь при выборе сделает ошибку.
В переменную n поместим ввод от пользователя. Напомним, что если пользователь введет 0, то будет первым ходить игрок, если 1 то первым будет ходить компьютер и 2, то очередность ходов будет определяться случайным образом.
Сразу после ввода проверим используя метод .isdidgit() ввел ли пользователь число. И если это так, то используя функцию int() переведем введенное значение из строки в число. Теперь когда у нас есть число, проверим его на правильный вариант ввода. Нам нужно чтобы пользователь ввел 0, 1 или 2. И если это не так, то выведем соответствующее сообщение об ошибке. Иначе проверим, не ввел ли пользователь число 2. Это означает, что нам надо с помощью генератора случайных чисел выбрать очередность ходов. Полученное случайное значение перезапишем в переменную n. После этого проинформируем игрока о сделанном выборе и прервем цикл оператором break. В самом конце функции вернем с помощью return значение переменной n. Это нам понадобится для организации главного игрового цикла.
Теперь напишем функцию, которая будет отвечать за ход игрока. В нее передадим количество спичек matches которое осталось после предыдущего хода. Дополнительные уведомления о количестве оставшихся спичек, чтобы игрок смог принимать решения, мы реализуем в основной программе.
Возьмем переменную n, в которой мы будем хранить количество спичек, которое возьмет игрок, и присвоим ей любое недопустимое значение. Это нам нужно для организации цикла ввода данных пользователем, для того, чтобы перезапускать его при некорректном вводе. Для этого зададим условие цикла while, что когда значение n или больше 3, или меньше 1. Затем в переменную n запишем результат ввода данных используя оператор input(). Проверим его так же методом .isdidgit() на то, что ввели только числа, и если это не так, через конструкцию else выведем соответствующее уведомление и переприсвоим переменную n некорректным числовым значением чтобы перезапустить цикл. Если же мы ввели число, то проверим его на корректность ввода условием, где n должен быть от 1 до 3. И если это не так, то выведем сообщение об ошибке и так же перезапустим цикл.
В случае ввода пользователем корректных данных вернем их с помощью return из нашей функции.
Теперь опишем функцию для хода компьютера. Для правильной реализации алгоритма хода компьютера нам необходимо знать количество оставшихся спичек, поэтому передадим их в функцию используя переменную matches.
Теперь разберем алгоритм ходов компьютера. Необходимо, чтобы каждый ход, который делает компьютер приводил к выигрышу, а для этого нам надо определить оптимальную стратегию. Очевидно то, что для того, чтобы побеждать, нам необходимо чтобы после нашего хода оставалось количество спичек кратное числу 4. Разберем этот случай более подробно. Представим что у нас осталось 4 спички. Вы можете взять 1, 2 или 3. Беря любое их количество противнику остается такое же их количество, которое он за ход и может забрать, тем самым обеспечив себе победу.
Для этого найдем остаток от деления на 4 от общего числа спичек и запишем их в переменную n. Теперь надо рассмотреть вариант, когда у нас уже количество спичек кратное четырем. При нахождения остатка от деления на 4 для такого числа результат будет 0. Но 0 спичек мы не можем взять по условию игры. По этому мы с помощью генератора случайных чисел получим любое допустимое число от 1 до 3 включительно. Его и вернем с помощью return в основную программу.
После того как мы описали функции для ходов игрока и компьютера напишем основной игровой цикл. Для начала зададим две переменные: matches = 15 — это общее количество спичек на начало игры и count = 1 счетчик ходов.
Так же в самом начале вызовем функции start() и rnd_turn(), значение последней присвоим переменной turn. Эта переменная будет определять чей сейчас ход, игрока или компьютера. Как мы помним, если функция rnd_turn() вернет 0, то первым будет ходить игрок, а если 1, то компьютер. Соответственно в цикле мы будем проверять эту переменную на четность или нечетность. При четном значении turn ходит игрок, а при нечетном компьютер. Внутри цикла переменные turn и count будем увеличивать на единицу.
Сделаем бесконечный цикл while. Выведем сообщение с номером текущего хода. Затем с помощью условия turn % 2 определим очередность ходов. Внутри условия укажем чей сейчас ход и оставшееся на этот момент количество спичек. Затем вызовем ту функцию, которая отвечает хода игрока или компьютера. Результат работы этих функций запишем в переменную n. После условия отнимем от общего количества спичек в переменной matches количество спичек за ход.
После вычислений необходимо проверить результат на победу. Если значение matches становится равно нулю, то завершаем цикл командой break, перед этим выводя сообщение о победе игрока или компьютерного ai.
Также не забудем в самом верху программы подключить модуль random для работы генератора случайных чисел.
Ниже вы можете или попробовать поиграть в получившуюся у нас игру или посмотреть ее код полностью, нажав на соответствующую кнопку.