Why doesn't this code resolve the temporary password lesson?

Could any one tell me why this code series doesn’t work to the required answer?
if len(first_name)<=3:
first_name_code = first_name
return first_name_code
if len(last_name)<=4:
last_name_code = last_name
return last_name_code
else:
first_name_code = first_name[0:3]
last_name_code = last_name[0:4]
username = first_name_code + last_name_code
return username
username = first_name_code + last_name_code
return username

#results : Expected the name Abe Simpson to produce the username AbeSimp, instead got Abe

This has a return, meaning that since “Abe Simpson” has a first name of 3 letters, it will stop the entire function and return Abe.