Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Как написать оценку хода к игре "Быки и коровы"

Я написал почти весь код. Не могу написать только оценку хода. Помогите пожалуйста
код:
import random

bull=0
cow=0
#Отдел генерации
bot=[]
for c in range(4):
a=str(random.randint(0,9))
bot.append(a)

#Отдел ввода
player=input()
a = player.split(' ')

(Здесь оценка хода)

print() #Количество быков и коров

По дате
По рейтингу
Аватар пользователя
Ученик

import random

cows, bulls = 0, 0

def generate():
guess = ""
count = 0
while True:
r = str(random.randint(0, 9))
if r == "0" and count == 0:
continue
if r not in guess:
guess += r
count += 1
if count == 4:
break
return guess

def get_status(usr, comp):
bulls, cows = 0, 0
for i, u in enumerate(usr):
for j, c in enumerate(comp):
if i == j and usr[i] == comp[j]:
bulls += 1
elif usr[i] == comp[j]:
cows +=1

return bulls, cows

def get_usr_input():
while True:
usr = input("Введите число: ")
if usr.isdigit() != True:
print("Ошибка! Это не число.")
elif len(usr) != 4:
print("Ошибка! Число должно быть четырёхзначным.")
elif usr[0] == "0":
print("Ошибка! Число не должно начинаться с нуля.")
elif sorted(set(usr)) != sorted(usr):
print("Ошибка! Число должно состоять из разных цифр.")
else:
break
return usr

comp = generate()

while True:
usr = get_usr_input()
bulls, cows = get_status(usr, comp)

print("Коров: %d, Быков: %d" % (cows, bulls))

if bulls == 4:
break

Аватар пользователя
Мудрец

Ну, так.
https://pastebin.com/uYHrijEf
Давно на питоне ничего не писал.

Аватар пользователя
Мудрец

с отдела генерации проиграл. чего не цех сразу?

Аватар пользователя
Ученик

я не знаю