Поскольку ваш код сейчас, он проходит через первую часть (игру), а затем отдельно проходит через вторую часть (подсказку). Поэтому, когда вы говорите «да», чтобы играть снова, он просто продолжает спрашивать, хотите ли вы играть снова.
Вы захотите поместить первый l oop внутрь основного l oop и избавиться от оператор else во втором l oop. Надеемся, что комментарии имеют смысл
У вас должны быть какие-либо операторы печати до перерыва, иначе код никогда не достигнет этой точки. (например, после этого оператора if user_input2.lower() == 'N' or 'n':
)
Я думаю, что вы также перепутали запросы Да и Нет. Воспроизвести снова Да означает, что они будут играть снова.
from random import *
a = randint(0,20)
user_input = ""
user_input2 = ""
while True: #Loop for prompt and game
user_input = "" #Gets reset each time
while True: #Loop for just game
if a != user_input:
user_input = int(input("Pick a number or die: \n"))
print(user_input, a)
if user_input < a:
print("Aim higher")
elif user_input > a:
print("Bit lower mate")
else:
break
if a == user_input:
user_input2 = raw_input("Up for another try:(Y/N)?")
if user_input2.lower() == 'N' or 'n':
print("No shame in being a coward") #Quit game
break
if user_input2.lower() == 'Y' or 'y':
print("Lets see if you re so lucky again.") #Play again
pass
else:
print("That is wrong") #Bad or no input
break