как сделать игру угадай число на питоне? комп загадал, я угадываю
Хочу свою первую игру, чтобы комп загадал число от 1 до 100, а я угадывал и он писал «больше» или «меньше». Начал так:
import random
secret = random.randint(1, 100)
guess = int(input("Твоё число: "))
if guess == secret:
print("Угадал!")
Но тут только одна попытка. Как сделать чтобы можно было угадывать пока не отгадаешь?
2 ответа
Смотри, чтобы угадывать много раз, тебе нужен цикл 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), чтобы было азартнее — если не успел, комп выигрывает.
А ещё оберни int(input(...)) в try/except, а то если ввести букву — игра вылетит с ошибкой. У меня так друг постоянно ломал:
try:
guess = int(input("Твоё число: "))
except ValueError:
print("Это не число, попробуй ещё")
continue