I am trying to create a program for that explores the collatz sequence.  It works until I try to add try and except statements to ensure the user enters a number and not text.  Below is the code:
def collatz(number):
    try:
        if number % 2 == 0:
            print(number // 2)
            return number // 2
        elif number % 2 == 1:
            result = 3 * number + 1
            print(result)
            return result
    except ValueError:
        print('That is not a number')
print('Enter a number')
n = int(input())
while n != 1:
    n = collatz(int(n))
I can run it with no problems if I enter numbers. However, when I enter the word "puppy" I encounter this:
Traceback (most recent call last):
  File "C:/Users/kredeker/Desktop/python/collatz2.py", line 14, in <module>
    n = int(input())
ValueError: invalid literal for int() with base 10: 'puppy'
I thought I was accounting for the ValueError with this:
except ValueError:
    print('That is not a number')
 
     
     
    