Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.58/120: Рейтинг темы: голосов - 120, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 21

Псевдоним v2.0

21.10.2020, 21:51. Показов 23433. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Игра ним для двух игроков с одной кучей и ограничением на количество забираемых камней: за один ход можно взять не больше трёх камней.
Напишите программу с «искусственным интеллектом» (ИИ), которая играет против пользователя и выигрывает, если может. Исходное количество камней в куче задаёт пользователь, программа всегда ходит первой. После каждого хода пользователя и программы необходимо сообщать, сколько камней взято и сколько осталось. В конце необходимо сообщить, кто выиграл.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
n = int(input())
while True:
    if n % 2 == 1:
        a = 1
        n -= a
        print(a, n)
    elif n % 2 != 0:
        a = 3
        n -= a
        print(a, n)
    elif n % 2 != 0 and n < 3:
        a = 1
        n -= a
        print(a, n)
    elif n == 2:
        a = 2
        n = 0
        print(a, n)
    if n == 0:
        print('ИИ выиграл!')
        break
    b = int(input())
    if b > 3 or b < 1:
        print('Некорректный ход:', b)
    else:
        n -= b
        print(b, n)
        if n == 0:
            print('Вы выиграли!')
            break
Миниатюры
Псевдоним v2.0   Псевдоним v2.0  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.10.2020, 21:51
Ответы с готовыми решениями:

Псевдоним-Мизер
Игра ним для двух игроков с одной кучей и ограничением на количество забираемых камней: за один ход можно взять не больше трёх камней. ...

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

Псевдоним-мизер
a = int(input()) while a &gt; 0: b = a % 4 if b == 0: b = 2 print('Забираю', b, 'камня') a -= b ...

32
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 21
21.10.2020, 23:05  [ТС]
Студворк — интернет-сервис помощи студентам
Gdez, странно, но pycharm говорит об обратном...
Миниатюры
Псевдоним v2.0  
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
21.10.2020, 23:08
Лек,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
n = int(input())
while True:
    if n == 7 :
        a = 3
    elif n == 6 :
        a = 2
    elif n < 4 :
        a = n 
    else :
        a = 1
    n -= a
    print(a, n)
    if n == 0:
        print('ИИ выиграл!')
        break
    b = int(input())
    while b > 3 or b < 1:
        print('Некорректный ход:', b)
        b = int(input())
    n -= b
    print(b, n)
    if n == 0:
        print('Вы выиграли!')
        break
1
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 21
21.10.2020, 23:09  [ТС]
Gdez, pycharm и wing пишут что ИИ выиграл...
Миниатюры
Псевдоним v2.0   Псевдоним v2.0  
0
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 21
21.10.2020, 23:12  [ТС]
Gdez, все правильно но он не принимает
Миниатюры
Псевдоним v2.0  
0
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 21
21.10.2020, 23:15  [ТС]
Gdez, походу что-то с системой... Надо писать в поддержку
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
21.10.2020, 23:15
Лек, похоже...
0
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 21
21.10.2020, 23:18  [ТС]
Gdez, спасибо что сидел со мной и пытался решить эту задачу
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
21.10.2020, 23:19
Лек,
0
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 21
21.10.2020, 23:22  [ТС]
Gdez, как с учителем поговорю напишу что не так или что все правильно, или просто система лагает.
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
21.10.2020, 23:27
Лек, Как определить ,кто последний взял камень?
Та же задача
И похоже там же сдавал

Добавлено через 1 минуту
Лек, поменяй значения win согласно условиям твоей задачи - вывод текста
0
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 21
21.10.2020, 23:29  [ТС]
Gdez, рандом использовать ненадо. Формально мы его не изучали, а значит возникнут вопросы
0
1 / 1 / 0
Регистрация: 04.01.2021
Сообщений: 2
04.01.2021, 16:07
Попробуй этот код, у меня засчитало)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
a = int(input())
hod = -1
while a != 0:
    if hod == -1:
        b = a % 4
        if b == 0:
            b = 2
        if b == 1:
            print('1', end=' ')
        else:
            print(b, end=' ')
    elif hod == 1:
        b = int(input())
        while not (1 <= b <= 3 and b <= a):
            if b < 1 or b > 3:
                print('Некорректный ход:', b)
            else:
                print('Некорректный ход:', b)
            b = int(input())
        print(b, end=' ')
    a -= b
    hod = -hod
    print(a)
if hod == 1:
    print('ИИ выиграл!')
else:
    print('Вы выиграли!')
0
0 / 0 / 0
Регистрация: 20.10.2024
Сообщений: 2
20.10.2024, 19:05
Мой код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
a, b = int(input()), 3
while a > 0:
    if a % 4 != 0:
        b = a % 4
    a -= b
    print(b, a)
    if a == 0:
        print("ИИ выиграл!")
    if a <= 0:
        break
    b = int(input())
    while b < 1 or b > 3 or b > a:
        print("Некорректный ход:", b)
        b = int(input())
    a -= b
    print(b, a)
    if a == 0:
        print("Вы выиграли!")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.10.2024, 19:05

Псевдоним-мизер
То же, что в задаче «Псевдоним» (одна куча, можно взять до трёх камней, игра против ИИ), но взявший последний камень не выигрывает, а...

Псевдоним-мизер
То же, что в задаче «Псевдоним» (одна куча, можно взять до трёх камней, игра против ИИ), но взявший последний камень не выигрывает, а...

Задача "Псевдоним" по питону
Всем привет. Долго думал над этой задачей, хотя вроде бы она и не очень сложная. Возможен вариант, что тестирующая система Яндекс.Лицея...

Псевдоним v2.0
Задача &quot;Псевдоним v2.0&quot; Игра ним для двух игроков с одной кучей и ограничением на количество забираемых камней: за один ход можно...

игра Псевдоним v2.0
Игра ним для двух игроков с одной кучей и ограничением на количество забираемых камней: за один ход можно взять не больше трёх камней. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru