это мой самый первый код. Это хорошо работает, если я просто все правильно ввожу. Однако, если я ввожу неправильные значения в определенных точках, то я получаю ошибку «NameError: имя« пароль »не определено». Наряду с возможным решением, если бы вы могли просмотреть мой код и дать мне некоторую обратную связь о том, как я могу сделать его лучше, это было бы здорово.
Я не знаю, почему пароль не определен. Решения, которые я попробовал: 1. Назначение имен переменных. 2. Прочитайте книгу, из которой я учусь, но в соответствии с книгой мой код в порядке. 3. Прочитайте похожие посты, но их код намного сложнее, поэтому я не могу понять ни код, ни решение. 4. Различные отступы. Символы в "" хорошо совпадают.
Кажется, что значение не сохраняется в пароле, как мне сохранить значение в пароле?
Мой код:
def PWCategory():
print("[pw category]")
for i in range(0, len(category)):
print(i+1, ".", category[i])
print()
def NumPWMaking():
num_random = string.digits
password = ""
for i in range(lang):
password += random.choice(num_random)
print(password)
def AlphaPWMaking():
string_random = string.ascii_letters
password = ""
for i in range(lang):
password += random.choice(string_random)
print(password)
def NumAlPWMaking():
string_random = string.ascii_letters + string.digits
password = ""
for i in range(lang):
password += random.choice(string_random)
print(password)
def NumAlUniPWMaking():
string_random = string.ascii_letters + string.digits + string.punctuation
password = ""
for i in range(lang):
password += random.choice(string_random)
print(password)
print("pw making")
lang = int(input("pw digit(4~8): "))
if(lang < 4):
print("Input value is less than 4.")
elif(lang > 8):
print("Input value is greater than 8.")
else:
if __name__ == '__main__':
category = ("only number", "only alphabet", "number+alphabet",
"number+alphabet+Special Characters")
PWCategory()
select = int(input("Select the number. (exit : 0) : "))
if(select==0):
print("exit")
elif(select==1):
NumPWMaking()
elif(select==2):
AlphaPWMaking()
elif(select==3):
NumAlPWMaking()
elif(select==4):
NumAlUniPWMaking()
print("pw matching")
searchpw = re.compile("[a-z]+")
matchingpw = searchpw.search(password)
password
if matchingpw == password:
print("matched pw: ")
print(matchingpw.group())
else:
print("I couldn't find it.")