Ну, что будет, если пользователь наберет fkljhae
?A ValueError
поднято.И ... держись!Это повышается для любого не int
ввода - "exit"
удовлетворяет этому критерию.
from sys import exit
while True:
x = input('please enter a number to compare or enter "exit" to exit the loop \n')
try:
if int(x) > 50:
print(x, 'is greater than 50')
elif int(x) < 50:
print(x, 'is less than 50')
else:
print('the number you entered is 50')
except ValueError:
if x == "exit":
exit()
Это не особенно хорошо, хотя;Что делать, если print
поднимает ValueError
?Давайте сделаем так, чтобы в блоке try:
except:
был только int(x)
:
from sys import exit
while True:
text = input('please enter a number to compare or enter "exit" to exit the loop \n')
try:
x = int(text)
except ValueError:
if text == "exit":
exit()
else:
if x > 50:
print(x, 'is greater than 50')
elif x < 50:
print(x, 'is less than 50')
else:
print('the number you entered is 50')
Это лучше, хотя "exit"
больше не внизу.