Игра между двумя игроками: "Угадать число"

hattter

Новичок
Пользователь
Янв 30, 2022
2
0
1
Python:
from random import randint

 

print('''я ПК. я загадал число от 1 до 50

попробуйте угадать. у каждого игрока 5 попыток''')

 

num = randint(1,50)

player = {'Вася' : 5, 'Петя' : 5, 'Маша' : 5}

while True:

    for name, try_ in player.items():

        if try_ == 0:

            print(f'{name} выбыл из игры')

            del player[name]

            break

        n = int(input(f'Угадывает {name}: '))

        if n == num:

            print(f'{name} угадал за {6-try_} попыток')

            break

        elif n < num:

            print(f'{name} ваше число меньше')

        else:

            print(f'{name} ваше число больше')

        player[name] = player.get(name) - 1

    if not player:

        print(f'так никто не угадал число {num}')

        break
Здравствуйте, программа предлагает нескольким пользователем отгадать Рандомное число. если игрок угадал число - выводит имя этого игрока и попытку с которой он угадал.
Помогите пожалуйста реализовать эту программу функциями используя генераторы списков
 
Последнее редактирование:

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
Python:
from random import randint

print('''я ПК. я загадал число от 1 до 50
попробуйте угадать. у каждого игрока 5 попыток''')

num = randint(1, 50)
print(num)
player = {'Вася': 5, 'Петя': 5, 'Маша': 5}

def test(name):
    if player[name] > 0:
        player[name] -= 1
        return True
    del player[name]
    print(f'{name} выбыл из игры')
    return False

def play():
    if not player:
        print(f'так никто не угадал число {num}')
        return 0
    for name in player:
        if test(name):
            n = int(input(f'Угадывает {name}: '))
            if num == n:
                print(f'{name} угадал за {player[name]} попыток')
                return 0
            else:
                print(
                    f"{name} ваше число {('меньше', 'больше')[int(n < num)]}")
                print(n, num, n < num)
    play()

play()
 
  • Мне нравится
Реакции: hattter

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
Как вставить код:
1643543363947.png
 
  • Мне нравится
Реакции: hattter

hattter

Новичок
Пользователь
Янв 30, 2022
2
0
1
Спасибо! А можно как-то применить здесь генератор списков?
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
973
220
43
21
Москва
Думаю нет, веть тут не используются списки
 

Форум IT Специалистов