Игра на python с компьютером анализ вариантов
Игра камень ножницы бумага на Python с компьютером, компьютер анализирует варианты игрока
В статье Игра камень ножницы бумага на Python мы создали игру с компьютером, при этом ходы компьютера всё время выбирались произвольным способ при помощи команды выбора случайного числа в Python random. В этой статье мы напишем программу на языке программирования Python, в которой компьютер анализирует ходы игрока и если человек часто выбирает один и тот же вариант, например камень, то компьютер выберет побеждающий вариант - в данном примере это бумага. Таким образом мы создадим нашу первую экспертную систему на Python.
Чтобы анализировать ответы игрока, нужно создать массив ответов, в который будут записываться варианты ответов человека. Подробно о работе с массивами в python
a = [0]*4
import random
for i in range (4):
ver = 0
while (ver==0):
player = int(input("1 - камень, 2 - ножницы, 3 - бумага. "))
if (player == 1 or player == 2 or player == 3):
ver = 1
a[i] = player
С помощью цикла for в python проведем 4 раунда игры «Камень – ножницы – бумага». В этих раундах компьютер играет произвольным образом.
comp = random.randint(1,3)
После 4 раундов проанализируем массив ответов человека. Для каждого варианта ответа мы вводим переменную, в которую будем записывать количество ответов данного варианта.Переменная k будет отвечать за количество выбранных вариантов ответа «Камень», n – за вариант ответа «Ножницы», перменная b – за бумагу. Если любой из вариантов ответа был выбран 2 раза и более, то компьютер выберет выигрышный вариант ответа. Например, если часто выбирается камень, то компьютер выберет бумагу.
ver = 0
comp = 1
if k>2:
comp=3
if n>2:
comp = 1
if b>2:
comp = 2
Полная версия программа «Камень – ножницы – бумага» на Python с анализом вариантов
a = [0]*4
import random
for i in range (4):
ver = 0
while (ver==0):
player = int(input("1 - камень, 2 - ножницы, 3 - бумага. "))
if (player == 1 or player == 2 or player == 3):
ver = 1
a[i] = player
if player == 1:
print("Вы выбрали камень.")
if player == 2:
print("Вы выбрали ножницы.")
if player == 3:
print("Вы выбрали бумагу.")
comp = random.randint(1,3)
if comp == 1:
print("Компьютер выбрал камень.")
if comp == 2:
print("Компьютер выбрал ножницы.")
if comp == 3:
print("Компьютер выбрал бумагу.")
# определяем победителя
if player == comp:
win = 0
if player == 1 and comp == 2:
win = 1
if player == 1 and comp == 3:
win = 2
if player == 2 and comp == 1:
win = 2
if player == 2 and comp == 3:
win = 1
if player == 3 and comp == 1:
win = 1
if player == 3 and comp == 2:
win = 2
if win == 0:
print("Ничья!")
if win == 1:
print("Победил игрок!")
if win == 2:
print("Победил компьютер!")
print (a)
k = 0
n = 0
b = 0
for i in range (4):
if a[i] == 1:
k = k+1
if a[i] == 2:
n = n+1
if a[i] == 3:
b = b+1
ver = 0
comp = 1
if k>2:
comp=3
if n>2:
comp = 1
if b>2:
comp = 2
while (ver==0):
player = int(input("1 - камень, 2 - ножницы, 3 - бумага. "))
if (player == 1 or player == 2 or player == 3):
ver = 1
if player == 1:
print("Вы выбрали камень.")
if player == 2:
print("Вы выбрали ножницы.")
if player == 3:
print("Вы выбрали бумагу.")
if comp == 1:
print("Компьютер выбрал камень.")
if comp == 2:
print("Компьютер выбрал ножницы.")
if comp == 3:
print("Компьютер выбрал бумагу.")
# определяем победителя
if player == comp:
win = 0
if player == 1 and comp == 2:
win = 1
if player == 1 and comp == 3:
win = 2
if player == 2 and comp == 1:
win = 2
if player == 2 and comp == 3:
win = 1
if player == 3 and comp == 1:
win = 1
if player == 3 and comp == 2:
win = 2
if win == 0:
print("Ничья!")
if win == 1:
print("Победил игрок!")
if win == 2:
print("Победил компьютер!")
Перейти к содержанию курса python
Полезно почитать по теме условия и в python
Пример анкета, опрос на python
Решение линейного уравнения в python
Поделиться:
Нет комментариев. Ваш будет первым!