Я пробую следующий вопрос:Как использовать оператор «in» для алфавитов во время цикла в python?
Веб-сайт требует, чтобы пользователи вводили имя пользователя и пароль для регистрации.
Напишите программу для проверки правильности ввода пароля пользователями.
- Ниже приведены критерии для проверки пароля:
- По крайней мере, 1 письмо между [AZ]
- По крайней мере, 1 номер между [0-9]
- По крайней мере, 1 буквой между [ AZ]
- по крайней мере, один символ из [$ # @]
- Минимальная длина пароля сделки: 6
- Максимальная длина O е транзакции Пароль: 12
Ваша программа должна принять последовательность разделенных запятыми паролей и будет проверять их в соответствии с указанными выше критериями. Пароли, соответствующие критериям, должны быть напечатаны, каждая из которых разделена запятой.
- Пример Если следующие пароли приведены в качестве входных данных в программу: ABd1234 @ 1, в F1 #, 2w3E *, 2We3345 Затем выходной сигнал программы должны быть: ABd1234 @ 1
Однако для моего кода Python:
values=input("Enter the set of passwords :")
list1=[]
list1=values.split(',')
num1=0
num2=0
num3=0
num4=0
for i in list1:
num1=len(i)
if(num1>=6 and num1<=12):
for z in i:
if (z.isupper()):
num1=1
if(z.islower()):
num2=1
if(z.isdigit()):
num3=1
if(z in ('#','$','@')) :
print(z)
num4=1
if(num1+num2+num3+num4==4):
print(i)
else:
print("passkey failed")
Почему я получаю последний ключ доступа, как правильно, несмотря на не проходя критерии.
Вы пытались отладить? – Carcigenicate
yes Я попытался отлаживать, я изучаю этот язык как новичок. Теперь я нашел свою ошибку, спасибо за ваше время. –