Я написал короткую программу, сравнивающую два целых числа и предоставляющую соответствующий ответ в конце.Я хочу, чтобы программа повторялась, если целое число не было записано в 'userint'.
Основная программа:
from random import randint
rn = randint(0,5)
print("The randomly generated integer is:",rn)
userint= input("Enter an integer:")
try:
if userint == rn:
print("Numbers are equal!")
elif userint > rn:
print(userint)
else:
print(rn)
except:
print("You have not entered an integer!")
if input("Do you want to repeat(y/n)").lower()== " N":
break
Вот что я пробовал использовать:
while True:
from random import randint
rn = randint(0,5)
print("The randomly generated integer is:",rn)
userint= input("Enter an integer:")
try:
if userint == rn:
print("Numbers are equal!")
elif userint > rn:
print(userint)
else:
print(rn)
except:
print("You have not entered an integer!")
if input("Do you want to repeat(y/n)").lower()== " N":
break
Я также пробовал другой способ повторения программы:
def main():
from random import randint
rn = randint(0,5)
print("The randomly generated integer is:",rn)
userint= input("Enter an integer:")
try:
if userint == rn:
print("Numbers are equal!")
elif userint > rn:
print(userint)
else:
print(rn)
except:
print("You have not entered an integer!")
restart = input("Do you want to start again?").lower()
if restart == "yes":
main()
else:
exit()
main()
В обоих случаях программа просит пользователя ввести значение.Чем, несмотря на значение, он запускает часть программы перезапуска без проведения фактического сравнения значений.
Может кто-нибудь подсказать мне, как исправить программу и позволить ей сравнивать значения, и если пользовательский ввод не является целым числомнапечатайте («Вы не ввели целое число!»), спросите «Хотите начать снова?» и снова запустите программу?