Помогите плиз почему у меня не выводится с 19 до 26 строчку кода (на Python) код снизу
print("В ИГРЕ ВРЕММЕНО НЕТ СОХРАНЕНИЙ!!!!!!")
import random
ishascar = True
print('==========================================================================')
print('============================= ===============================')
print("===================== ИГРА -УГАДАЙ ЧИСЛО- =====================")
print('============================= ===============================')
print('==========================================================================')
i = input('напиши слово -начать- чтобы запустить игру или напиши цифру уровня чтобы на него попасть либо напиши выход чтобы выйти ')
while ishascar:
h = random.randrange(1, 10)
if i == "начать":
g = int(input("введите число от 1 до 10 "))
if g == h:
ishascar = False
if ishascar == False:
print ('ты угодал(а)')
o = input("перейти на следующий уровень? ")
while ishascar:
d = random.randrange(1, 100)
if o == "да":
a = int(input("введите число от 1 до 100 "))
if a == h:
ishascar = False
if ishascar == False:
print ('ты угадал(а)')Строка 23: Замени if a == h: на if a == d: Строка 26: Добавь else: print("Не угадал, попробуй еще раз!")
Строка после 18: Перенеси ishascar = True перед вторым циклом while
на исправленый код:
import random
print("В ИГРЕ ВРЕМЕННО НЕТ СОХРАНЕНИЙ!!!!!!")
print('==========================================================================')
print('============================= ===============================')
print("===================== ИГРА -УГАДАЙ ЧИСЛО- =====================")
print('============================= ===============================')
print('==========================================================================')
# Основной цикл игры
while True:
i = input('Напиши слово "начать", чтобы запустить игру, '
'или напиши "выход", чтобы выйти: ').lower()
if i == "выход":
print("Спасибо за игру! До свидания!")
break
elif i != "начать":
print("Некорректный ввод. Пожалуйста, введите 'начать' или 'выход'.")
continue
# Уровень 1: числа от 1 до 10
print("\nУровень 1: Угадай число от 1 до 10")
secret_number = random.randrange(1, 11) # randrange(1,10) даёт числа до 9
guess = int(input("Введите число от 1 до 10: "))
if guess == secret_number:
print('Ты угадал(а)! Переходим на следующий уровень.')
# Уровень 2: числа от 1 до 100
print("\nУровень 2: Угадай число от 1 до 100")
secret_number = random.randrange(1, 101)
guess = int(input("Введите число от 1 до 100: "))
if guess == secret_number:
print('Ты угадал(а)! Поздравляем с победой!')
else:
print(f'Не угадал(а). Загаданное число было {secret_number}.')
else:
print(f'Не угадал(а). Загаданное число было {secret_number}.')
# Предложение сыграть ещё раз
play_again = input("Хочешь сыграть ещё раз? (да/нет): ").lower()
if play_again != "да":
print("Спасибо за игру! До свидания!")
break
Потому что после предыдущего цикла переменная в условии равна 0.
Переменная ishascar становится False на 16 строке для выхода из первого цикла. Второй цикл на 20 строке видит этот False и поэтому никогда не запускается.