@ArtemYablochnyi

Задача отгадать число. Не могу найти ошибку?

нужно что бы у игрока было 5 попыток угадать.
print("\nИгра угадай число")
print("\nЯ загадал число от 1 до 100")
print("\nУ тебя есть 5 попыток\n")
import random
number = random.randint(1, 100)
guess = int(input("Ваше предположение...."))
p = 1
while guess != number:
    if guess < number:
        print("Я загадал большее число")
    elif:
        print("Я загадал меньшее число")
    guess = int(input("Ваше предположение...."))
    p += 1
    elif p > 5:
        break
        print("Вы проиграли и стратили все попытки")
print("Вы угадали, это действительно", number)
print("Вы потратили", p, "попыток")   
input("enter")

Не пойму в чем проблема
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
@kakisaebalsujit
Ошибка была найдена. У вас не было задано условие для elif.
Верный код
print("\nИгра угадай число")
print("\nЯ загадал число от 1 до 100")
print("\nУ тебя есть 5 попыток\n")
import random
number = random.randint(1, 100)
guess = int(input("Ваше предположение...."))
p = 1
while guess != number:
    if guess < number:
        print("Я загадал большее число")
    else:
        print("Я загадал меньшее число")
    guess = int(input("Ваше предположение...."))
    p += 1
    if p > 5:
        print("Вы проиграли и стратили все попытки")
        break
print("Вы угадали, это действительно", number)
print("Вы потратили", p, "попыток")   
input("enter")
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Неправильное использование if-elif-else
https://pythonworld.ru/osnovy/instrukciya-if-elif-...

1. elif не может быть пустым
2. Проверка p > 5 явно не должна быть в первом блоке if
3. Ну и блок
print("Вы угадали, это действительно", number)
print("Вы потратили", p, "попыток")   
input("enter")

выполнится в любом случае, вне зависимости от ответов человека
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы