74 lines
2.9 KiB
Python
74 lines
2.9 KiB
Python
import random
|
||
|
||
|
||
max_nam = 10
|
||
guess_num = 3
|
||
|
||
|
||
def create_secret_num():
|
||
"""Создание случайного числа"""
|
||
digits = list('0123456789')
|
||
random.shuffle(digits)
|
||
secret_num = ''
|
||
for i in digits[0:3]:
|
||
secret_num += i
|
||
print(secret_num)
|
||
return secret_num
|
||
|
||
def attempt_check():
|
||
clue = []
|
||
for i in range(len(attemt)):
|
||
|
||
if secret_num[i] == attemt[i]:
|
||
clue.append("Fermi")
|
||
if attemt[i] in secret_num:
|
||
clue.append("Pico")
|
||
return ''.join(clue)
|
||
|
||
|
||
|
||
while True:
|
||
"""Основной цикл для прекращения или повторения игры"""
|
||
secret_num = create_secret_num() # Создание случайного числа
|
||
print("I meade a number.") # По сути, не нужное оповещение о создание числа(Создано для игрока)
|
||
attemt_num = 1 # Номер попытки игрока
|
||
|
||
while max_nam >= attemt_num:
|
||
"""Цикл, за счет которого осуществляются попытки"""
|
||
attemt = '' # Попытка игрока
|
||
|
||
while len(attemt) != guess_num or not attemt.isdecimal():
|
||
"""Цикл для ввода попытки. Его можно было бы реализовать через if-elif,
|
||
но тогда у игрока была бы одна попытка."""
|
||
print(f"Attemt № {attemt_num}") # Вывод информации о том, сколько попыток сделал игрок
|
||
attemt = input("> ")
|
||
|
||
"""Часть игры, где происходит проверка введенного игроком числа с загаданным(секретным) числом"""
|
||
|
||
if secret_num == attemt:
|
||
"""Проверка, полностью ли совпало число.
|
||
Её нельзя впихнуть в функцию attempt_check(), так как здесь есть ""break"""
|
||
print("You win!")
|
||
break
|
||
|
||
clue = attempt_check() # А вот и подсказка
|
||
if len(clue) == 0:
|
||
print("Bagle")
|
||
else:
|
||
print(clue)
|
||
attemt_num += 1
|
||
|
||
if max_nam < attemt_num:
|
||
# Финишная прямая. Говорим комплементы, называем секретное число и спрашиваем, хочет ли игрок продолжить
|
||
print("You're done trying") # У тебя закончились попытки
|
||
print(f"The hiden numbers is {secret_num}.You want repeat the game? 'yes' or 'no'")
|
||
answer = input("> ")
|
||
if answer == 'no':
|
||
print("Thanks for playing")
|
||
break
|
||
else:
|
||
print("You want repeat the game? 'yes' or 'no'")
|
||
answer = input("> ")
|
||
if answer == 'no':
|
||
print("Thanks for playing")
|
||
break |