← Все вопросы

как сделать игру угадай число на питоне? комп загадал, я угадываю

Задан 22 месяца назад1.3к просмотров2 ответа
6

Хочу свою первую игру, чтобы комп загадал число от 1 до 100, а я угадывал и он писал «больше» или «меньше». Начал так:

import random
secret = random.randint(1, 100)
guess = int(input("Твоё число: "))
if guess == secret:
    print("Угадал!")

Но тут только одна попытка. Как сделать чтобы можно было угадывать пока не отгадаешь?

2 ответа

11
✓ Принятый ответ — помог автору

Смотри, чтобы угадывать много раз, тебе нужен цикл while — он будет крутиться, пока ты не попадёшь в число. Вот рабочая версия целиком:

import random

secret = random.randint(1, 100)
tries = 0
print("Я загадал число от 1 до 100. Угадаешь?")

while True:
    guess = int(input("Твоё число: "))
    tries += 1
    if guess < secret:
        print("Больше!")
    elif guess > secret:
        print("Меньше!")
    else:
        print(f"Угадал за {tries} попыток!")
        break

Как это работает: while True крутит вопрос бесконечно, на каждой попытке прибавляем tries. Если число меньше загаданного — пишем «Больше», если больше — «Меньше». Когда совпало — печатаем за сколько попыток и break выходит из цикла.

Как улучшить: дай игроку всего, скажем, 7 попыток (заведи лимит и сравнивай с tries), чтобы было азартнее — если не успел, комп выигрывает.

4

А ещё оберни int(input(...)) в try/except, а то если ввести букву — игра вылетит с ошибкой. У меня так друг постоянно ломал:

try:
    guess = int(input("Твоё число: "))
except ValueError:
    print("Это не число, попробуй ещё")
    continue

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект