Условия задачи:

 

Игра в угадывание случайного числа. Напишите программу, которая генерирует слу­чайное число в диапазоне от 1 до 100 и просит пользователя угадать это число. Если до­гадка пользователя больше случайного числа, то программа должна вывести сообщение  "Слишком много, попробуйте еще раз". Если догадка меньше случайного числа, то про­грамма должна вывести сообщение "Слишком мало, попробуйте еще раз". Если пользо­ватель число угадывает, то приложение должно поздравить пользователя и сгенериро­вать новое случайное число, чтобы возобновить игру. 

Необязательное улучшение: улучшите игру, чтобы она вела подсчет попыток угадать, которые делает пользователь. Когда пользователь угадывает случайное число правиль­но, программа должна показать количество попыток.

 

Решение задачи:

from random import randint
#Задача некорректно составлена, так как ели буквально следовать условиям
#попадем в бесконечный цикл, что плохо. Возможность выйти из игры должна
#быть. Первая функция отвечает за продолжение раунда игры, вторая дает подсказки.
#Первый цикл отвечает за возобновление и выход из игры, второй цикл за раунд игры
#и так же выход из игры

def main():
    def game(num_1, num_2):
        if num_1 != num_2:
            return True
        else:
            return False
    def get_help(num_1, num_2):
        if num_1 > num_2:
            print('Ваше число больше чем у компьютера')
        else:
            print('Ваше число меньше чем у компьютера')
    print('Угадайте число которое загадал компьютер')
    users_num = int(input('Угадайте число:'))
    while users_num !=0:
        totall = 1
        comp_num = randint(1, 100)
        while users_num != 0 and  game(users_num, comp_num):
            users_num = int(input('Напишите число или 0 если не хотите играть:'))
            get_help(users_num, comp_num)
            totall += 1
        if not game(users_num, comp_num):
            print(f'Вы выиграли! На это у вас ушло {totall} попыток')
        else:
            print('Вы вышли из игры')
main()