Password generator in Python 3.7
Not bad a all for a first Python program:


Good use of the line: if __name__ == '__main__': .
Good use of string methods (replace, isupper, islower etc...). 
Good use of the random module methods.


But some things can be made better:


The function passwordgenerator could have pw_length as a parameter and return mypw. (The printing of the password moves to the main part in this case)
calling passwordgenerator from within passwordgenerator itself (a recursive call) can be tricky (what is the password accidentally is always lower...?) 
The string constants "!?@%#$" and "abc...XYZ" occur both twice, they could be made constants on top of the program.
I think the line: elif count == pw_length should be different
a docstring could be added to passwordgenerator explaining the properties of the generated password.