Answer
t.me/python_tesstПрограмма выведет:
Введите целое число: 1
Тест прошёл успешно!
Ответ:
Единственное исключение, что не будет вызвано, находится в строке 11: y = x + 'number', так как в предыдущей строке всегда будет вызываться исключение.
Объяснение работы программы:
- Создаётся бесконечный цикл
while True:, в котором через конструкциюtry-exceptбудет вводиться значение x до тех пор, пока это не будет целое число. Здесь же находится первое исключениеValueError, что вызывается при попытке ввода не числа. - Открывается вторую конструкцию
try-except-finally. В блоке try написаны две операции, которые ведут к исключениямZeroDivisionErrorиTypeErrorсоответственно. Как писалось выше, вторая операция не будет выполнена из-за исключения в первой, поэтому она не вызовет исключения. - Обрабатывается исключение при делении на ноль, в котором открывается третья конструкция
try-except. - Вызывается через ключевое слово
raiseи сразу же обрабатывается исключение. - В конце программы вывод строки о завершении работы программы.
Код:
x = 0
y = 0
while True:
try:
x = int(input('Введите целое число: '))
break
except ValueError:
print('Это не число.')
try:
y = x / 0
y = x + 'number'
except ZeroDivisionError:
try:
raise TypeError
except TypeError:
pass
finally:
print('Тест прошел успешно!')