Информатика, вопрос задал Аноним , 2 года назад

!!! ДАЮ 40 БАЛЛОВ СРОЧНО !!!
(Программирование по Python)
#5 Створити гру 'Вгадай число'. Генерується рандомне число. Під час гри користувач вводить числа, а гра відповідає, загадане число більше чи менше. Якщо користувач вводить вірне число вивести 'Вітаю! Ви виграли'
Большая просьба разпишите решение задачи по пунктам!
1.Сгенерировать рандомное число
2.Спросить у пользователя число и т.д
Ну и конечно же решите ее максимально простым путем, спасибо.

Ответы на вопрос

Ответил loredmaxed
1

Ответ:

import random

print("Гра - Вгадай число! \nЩоб вийти з гри, впишіть - 0")

while True:

   randnum = random.randint(1,10)

   num = input("\nЦіле число від 1 до 10 загадане, постарайся вгадати його: ")

   try:

       num = int(num)

   except ValueError:

       print("Невірний тип данних!")

       continue

   if num == 0:

       exit("Ви вийшли з гри.")

   elif num > randnum:

       print("Не вгадав, число було більше!")

   elif num < randnum:

       print("Не вгадав, число було менше!")

   else:

       print("Вітаю! Ви виграли")

Пошаговое объяснение:

Для начала мы импортируем модуль random. Дальше выводим в консоль название игры и способ выхода из игры, это необходимо в дальнейшем. Потом мы создаем бесконечный цикл (цикл выполняется если условие = True, в нашем случае я изначально вписал в условие True и оно никак не измениться в дальнейшем коде, потому что это не переменная). Следующим шагом мы генерируем рандомное число от 1 до 10 и записываем его в переменную randnum. Дальше даем возможность пользователю вписать какие либо данные, но нужно что-бы он писал только числовые данные (int либо float, из float возможна конвертация в int даже если оно с дробью, будет округление), поэтому что-бы программа не выбила ошибку если пользователь введет текстовые данные, мы эту ошибку перехватываем исключениями (блок try, except). В блоке try мы пытаемся конвертировать, если конвертировать не получается, мы переходим в блок except и пытаемся поймать ошибку ValueError, успешно её ловим и оповещаем пользователя, что он ввел неверный тип данных. Когда пользователь введет число, мы переходим в блок if (если). Если пользователь введет 0, тогда мы завершаем программу ( exit("Ви вийшли з гри.") ), если пользователь введет число больше сгенерированного, тогда мы оповестим его, что число больше загаданного и начнем игру заново, такая же ситуация если он введет число меньше. И в итоге если пользователь угадывает число, мы его поздравляем и начинаем по новой.

Надеюсь объяснил.


novoskroman999: Спасибо. Идеальный ответ!
loredmaxed: Извини, но не могу. Пишу только на Python и C#.
Новые вопросы