import random import pickle alphabets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] up_alphabets = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] special_chars = ['!','@','#','$','%','^','&','*','~','+','-','_','?'] def password(description): password = str() times = 0 ten = 10 k = list() global works works = False works1 = False works2 = False works3 = False n = list() for l in range(ten): o = random.randint(0,9) o = str(o) k.append(o) for l in range(ten): choice = random.randint(0,2) if choice == 0: works = True password += k[times] times += 1 password = str(password) if choice == 1: up_low_choice = random.randint(0,1) if up_low_choice == 0: works1 = True alpha_choice = random.choice(alphabets) password += alpha_choice password = str(password) if up_low_choice == 1: works2 = True alpha_choicee = random.choice(up_alphabets) password += alpha_choicee password = str(password) times += 1 if choice == 2: works3 = True special_choice = random.choice(special_chars) password += special_choice times += 1 password = str(password) if works == False: password = list(password) password.pop() works = True password += k[times] times += 1 password = str(password) if works1 == False: password = list(password) password.pop() works1 = True alpha_choice = random.choice(alphabets) password += alpha_choice password = str(password) if works2 == False: password = list(password) password.pop() works2 = True alpha_choicee = random.choice(up_alphabets) password += alpha_choicee password = str(password) if works3 == False: password = list(password) password.pop() works3 = True special_choice = random.choice(special_chars) password += special_choice password = str(password) password = str(password) print(str(password))
this is my code
it is a simple passoword generator but when i run it it sometimes prints a string and sometimes a list please help i tried looking for any print commands that i left but there is only one print command at the end the code is in progress but i need help for the time being thanks in advance
####################################################################################################
Advertisement
Answer
Sometimes you are getting list so at the end you can add check for this and convert it to string check below code:
Add this code before last line of your code
try: password = eval(password) if type(password) is list: password = "".join(password) print("password is list") except Exception: pass