Would be great if someone could tell me why the Except clause doesn’t catch the exception below. Thanks.
def collatz(number): try: if number % 2 == 0: m = number // 2 print(m) return(m) else: m = 3 * number + 1 print(m) return(m) except ValueError: print('Error: Must enter an integer') n = input('Enter number: \n') # n = int(n) while n != 1: n = collatz(n)
Error:Enter number:
15
Traceback (most recent call last):
File "/Users/admin/PycharmProjects/hello/collatz.py", line 18, in <module>
n = collatz(n)
File "/Users/admin/PycharmProjects/hello/collatz.py", line 3, in collatz
if number % 2 == 0:
TypeError: not all arguments converted during string formatting