На прошлой статье, я вам обещал, что для закрепления материала, мы с вами выполним первую практическую работу. Какие знания нам для этого нужны?
А теперь давайте определимся с тем, какой функционал требуется для реализации нашей задумки.
- Программа случайным образом от 1 до 100 загадывает число
- Счетчик попыток, в конце мы выведем, за какое количество попыток мы сумели отгадать число
- Имя игрока
- Если наше число больше, то программа должна сообщить что загаданное число меньше
- Если наше число меньше, то программа должна сообщить что загаданное число больше
- Если мы отгадали, то программа должна вывести сообщение о том, что мы отгадали, и за n попыток
Игра “Угадай число” на Python
Статьи
Автор Admin На чтение 2 мин Просмотров 926 Опубликовано 03.03.2023
Игра угадай число на python (питон)
Введение
В ходе статьи напишем игру “Угадай число” на языке программирования Python.
Игра “Угадай число” на Python
Для того, чтобы программа загадывала число нам понадобится метод randint() из модуля random. Импортируем его:
from random import randint
Создадим переменную x, в которую добавим рандомное число от одного, до десяти. Также создадим переменную attempt равную нулю. В неё будет сохраняться количество попыток игрока:
from random import randint x = randint(1, 10) attempt = 0
Создадим бесконечный цикл, внутри которого будет выводиться надпись “Я загадал число от 1 до 10, угадай его :)”. Далее дадим пользователю возможность ввести число и сохраним его в переменную user_num. Увеличим значение в attempt на единицу:
from random import randint x = randint(1, 10) attempt = 0 while True: print(«Я загадал число от 1 до 10, угадай его :)») user_num = int(input(«Ваша догадка: «)) attempt += 1
Добавим условие, что если введённое игроком число равняется загаданному, то он победил. Если же введённое число больше загаданного, то выводится подсказка, что загаданное число меньше. Ну и если введённое число меньше загаданного, выводится подсказка, что загаданное число больше:
from random import randint x = randint(1, 10) attempt = 0 while True: print(«Я загадал число от 1 до 10, угадай его :)») user_num = int(input(«Ваша догадка: «)) attempt += 1 if user_num == x: print(f»Ты угадал число, молодец!nКоличество твоих попыток: nСпасибо за игру!») break elif user_num > x: print(«Моё число меньше.») elif user_num < x: print(«Моё число больше»)
В ходе статьи мы с Вами написали код для игры “Угадай число” на языке программирования Python. Надеюсь Вам понравилась статья, желаю удачи и успехов!
Источник: it-start.online
38 Задача: Угадай случайное число ( Python )
Python с нуля. Создаём отгадывателя чисел.
Продолжаем закреплять азы с помощью задачек. На этот раз задача следующая:
Нужно написать алгоритм игры, в которой число от 1 до 100 загадывает человек, а отгадывает компьютер.
Скажу сразу, стратегия отгадывания у меня вышла не самой интеллектуальной, поэтому буду очень рад вашим дополнениям. Но работает программа честно, без «подглядываний», и в пределах определенного количества попыток. И даже ругает игрока, если он не понял правил. Пример работы программы:
Листайте карусель
А теперь поехали! Открывает программное окружение (о том, как это сделать, написано тут ) и пишем комментарии:
# Отгадыватель
#
# Игрок выбирает случайное число в диапазоне от 1 до 100
# Компьютер пытается отгадать это число с 20 попыток
# В случае нарушения правил игроком, компьютер ругается
Импортируем модуль рандома для создания случайных чисел. Он и является ядром интеллекта, если можно так выразиться, который либо приблизит компьютер к победе, либо не даст никаких шансов.
import random
Приветствуем игрока и объясняем правила:
print(‘tДобро пожаловать в игру «Отгадыватель»!’)
print(‘nЗагадайте число из диапазона от 1 до 100.’)
print(‘А я постараюсь его отгадать.n’)
Создаем переменные с начальными значениями. Имена для переменных я выбрал плохие, так как подобная экономия букв в больших программах может привести к серьёзной путанице. Но надеюсь в этой программе запутаться мы не успеем.
n1 = int(input(‘Загадайте число: ‘))
n2 = random.randint(1, 100)
tries = 1
- n1 — это переменная, которая получит значение, введенное игроком.
- n2 — переменная, которая с помощью модуля рандома получит случайное значение из диапазона от 1 до 100.
- tries — это переменная, которой изначально присвоено значение 1. Она будет выполнять роль счетчика.
Теперь создадим цикл нарушения правил, который будет ругать игрока, если тот будет вводить числа, не входящие в нужный нам диапазон:
while n1 > 100:
n1 = int(input(‘nnЧитай правила, тормоз. И введи число от 1 до 100.’))
А теперь переходим к циклу отгадывания. Принцип у него такой:
Пока n1 неравно n2, сравнивать эти переменные, и если рандомная n2 больше числа, загаданного игроком (n1)- вычитать из него по единичке. Если n2 меньше загаданного числа — прибавлять по единичке. Это такой аналог принципу «горячо-холодно». Каждый раз при выполнении указанных действий счетчик tries тоже будет прибавлять к себе по единичке, и если tries станет больше 20, цикл вырубится, а на экран будет выведено сообщение, что компьютер проиграл. Пишем:
while n2 != n1:
if n2 > n1:
n2 -= 1
print(‘Еще попытка. ‘)
else:
n2 += 1
print(‘Еще попытка. ‘)
tries += 1
if tries > 20:
input(‘nnИзвините, я исчерпал 20 попыток. Вы простите меня?’)
break
Но не забываем про отступы в циклах, Дзен их игнорирует, поэтому если забыли, внизу статьи будет картинка с готовым кодом.
Теперь пишем условие, что если n1 и n2 становятся равными, игроку будет выведено сообщение с отгаданным числом и количеством попыток, которые потратил компьютер на отгадывание. Иначе программа выведет прощальное сообщение.
if n2 == n1:
print(‘Это число ‘, n2)
print(‘Я потратил всего ‘, tries, ‘ попыток!n’)
input(‘nНажмите Enter, чтобы выйти.’)
else:
input(‘nnСпасибо за игру. Нажмите Enter, чтобы выйти.’)
Получиться у вас должно было примерно так:
Источник: dzen.ru