Program to calculate age in seconds Any thoughts?

print('*'*44+'\n****How Many Seconds Have You Been Alive****\n'+'*'*44)

while True:
    try:
        print('\n--------------------------------------------')
        Age = int(input('\nHow old are you?: '))

        if Age&lt;1 or Age&gt;90:
            print('(Input Error)*Enter Valid Age*')
            continue

    except(TypeError,ValueError):
        print('(Input Error)*Enter Valid Age*')
        continue

    seconds = str(Age*31536000)

    def splitthousands(x, sep=','):  #Inserts a comma after every three digits from the right.
        if len(x) &lt;= 3: return x  
        return splitthousands(x[:-3], sep) + sep + x[-3:]

    print('\nYou have been alive for '+splitthousands(seconds, sep=',')+' seconds.')
    print('\n--------------------------------------------')

    while True:
        try:
            reply = str(input('\nDo you want to play again(Y/N)?: ').title())

        except(TypeError,ValueError):
            print('(Input Error)*Enter Valid Option*')
            continue

        if reply.startswith('Y'):
            break

        else:
            raise SystemExit
I am fully agree with what @Jamal has said. Apart from that I would like to add some more points.
Use consistency in your code
Although PEP8 says there is no strict rule for naming convention, if you stick to one particular convention it'll be easier for you and the reviewers to follow.
In your code you have used reply, seconds which starts with lowercase letter but Age starts with uppercase letter.
I use the following convention

normal variables: lowercase_with_underscore
class names: CamelCase.
constants: UPPERCASE

And about the function which you defined inside the while loop
Only in certain cases(like in decorators) you should define your function
inside an enclosing scope. Defining a function inside while loop means, whenever the while condition become true it will encounter that function block which is time consuming.
Better define your function outside the while block and it improves readability.
Hard coding
You have hard coded the numbers like 1, 90, 31536000. Giving names to these number will help you a lot in the future.
Creating function
Creating a function for the calculation of age-in-seconds will allow you for the re-usability of your work.
After changing all the stuff, my function is looking like the following
SECONDS_IN_A_YEAR = 31536000
LOWEST_AGE = 1
HIGHEST_AGE = 90

def splitthousands(x, sep=','):
    '''
    Inserts a comma after every three digits from the right.
    '''
    if len(x) &lt;= 3:
        return x

    return splitthousands(x[:-3], sep) + sep + x[-3:]

def calc_age_in_seconds(age):
    '''
    calculates the given age in seconds

    :raises: ValueError
    '''

    if age &lt; LOWEST_AGE or age &gt; HIGHEST_AGE:
        raise ValueError

    return age * SECONDS_IN_A_YEAR

def ask_user_and_calc_age_in_seconds():

    print('*'*44+'\n****How Many Seconds Have You Been Alive****\n'+'*'*44)
    
    while True:
        try:
            print('\n--------------------------------------------')
            age = int(input('\nHow old are you?: '))

            seconds = str(calc_age_in_seconds(age))
    
        except(TypeError,ValueError):
            print('(Input Error)*Enter Valid Age*')
            continue

        print('\nYou have been alive for '+splitthousands(seconds, sep=',')+' seconds.')
        print('\n--------------------------------------------')
    
        while True:
            try:
                reply = str(input('\nDo you want to play again(Y/N)?: ').title())
    
            except(TypeError,ValueError):
                print('(Input Error)*Enter Valid Option*')
                continue
    
            if reply.startswith('Y'):
                break
    
            else:
                raise SystemExit

if __name__ == '__main__':
    ask_user_and_calc_age_in_seconds()