Причина, по которой он пропускается до конца, состоит в том, что большинство методов class user_input
, таких как one()
, two()
, three()
и т. Д., Пытаются вызвать его метод r_of_c()
, который вызывает
NameError: name 'r_of_c' is not defined
возникнет исключение, потому что оно не было выполнено должным образом.
Это позволяет выполнять следующие строки в конце:
try: user_input.one()
except:
pass
try: user_input.two()
except:
pass
try: user_input.three()
except:
pass
try: user_input.four()
except:
pass
try: user_input.greater_than()
except:
pass
try: user_input.less_than()
except:
pass
""" The following will output the answer based on the initial user input. """
try: answer.one()
except:
pass
try: answer.two()
except:
pass
try: answer.three()
except:
pass
try: anwer.four()
except:
pass
input("Press Enter to exit. ")
каждый вызов user.input.xxx()
внутри try
/ except
встречает возбуждаемое исключение, но они игнорируются, и делается следующий вызов, и так далее, и так далее, покаinput("Press Enter to exit. ")
в самом конце встречается.
Я думаю, что правильный способ назвать его будет user_input.r_of_c()
вместо простого r_of_c()
.Обратите внимание, что, поскольку существует ряд других проблем, которые также должны быть исправлены, просто внесите это изменение, и этого будет недостаточно, чтобы оно заработало, но оно должно прекратить пропуск до конца.