Борьба с обработкой исключений [закрыто]Python

Программы на Python
Ответить
Anonymous
 Борьба с обработкой исключений [закрыто]

Сообщение Anonymous »

Я писал простую игру для угадывания чисел, однако в моей логике обработки нечисловых предположений казалось, что блок исключений не выполнялся, несмотря на то, что блок исключений предназначался для обработки ошибок значений
вот фрагмент кода

Код: Выделить всё

while True:
guess = input("enter your guess: ")
if guess.lower().strip() == "quit":
print("understood! thanks for playing.")
sys.exit()
print(guess)
try:
guess = int(guess)
print(guess)
break
except ValueError:
print(guess)
print("you must enter a number")
Я попробовал «выйти», и, конечно, это сработало.
Однако всякий раз, когда я ввожу нечисловое значение, оно все равно выдает ошибку значения, несмотря на то, что есть «кроме ValueError:".
Я хочу, чтобы он предлагал пользователю ввести новое предположение и делал это постоянно, пока пользователь не введет числовое значение.И хотя я не такой уж хороший программист, я могу попытаться создать кратчайший код, воспроизводящий ошибку, которая, по моему мнению, будет

Код: Выделить всё

variable = input()
try:
variable = int(variable)
except ValueError:
print("invalid input")
хотя при этом не учитываются «quit» и цикл while, однако эти 2 не являются проблематичными.
Я бы сказал, что конкретная проблема заключается в том, что блок исключений по какой-то причине не выполняется, однако, как упоминалось ранее, я не очень хороший программист, поэтому не могу однозначно сказать, что это единственная проблема

Подробнее здесь: https://stackoverflow.com/questions/792 ... n-handling
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»