import random
def RandomPw(n=20):
s = ''
for i in range(n):
list = ['.',',','?','*','+','-','_','/','<','>','~','!','#','@','$','%','^','&','(',')','=','[',']','{','}','|',':']
digit = str(random.randint(0,9))
char_upper = str(chr(random.randint(65,90)))
char_lower = str(chr(random.randint(97,122)))
char = str(random.choice(list))
res = [digit,char_lower,char_upper,char]
result = random.choice(res)
s += result
return s
a = RandomPw()
print(a)