少なくとも 1 つの大文字/小文字などの一般的な要件を持つパスワードを作成しようとしています。パスワードが要件に従って有効でない場合は、ユーザーがパスワードを取得できるようにエラーを表示する必要があります。もう一度修正します。
最後に、ユーザーが別のテストを続行するかどうかを選択できるように、while ループから始めました。これらは私が行った一般的な手順です。
最後に、ユーザーのテキスト入力が有効でないと判断された場合、ユーザーのエラーが何であったかを表示する必要があります。それが今の私の主な問題です。提案の後、コードはより良くなります。今、私は何とかエラーを表示する必要があります。
これが私のコードのやり方です
while True:
pw = input('Enter password to be tested if valid or not: ')
correct_length = False
uc_letter = False
lc_letter = False
digit = False
no_blanks = True
first_letter = False
if len(pw) >= 8:
correct_length = True
for ch in pw:
if ch.isupper():
uc_letter = True
if ch.islower():
lc_letter = True
if pw.isalnum():
digit = True
if pw[:1].isalpha():
first_letter = True
if not pw.find(' '):
no_blanks = True
if correct_length and uc_letter and lc_letter and digit and first_letter and no_blanks:
valid_pw = True
else:
valid_pw = False
#This is the part where I'm suppose to display the errors if the user gets it wrong.
#Initially, in the test for ch. above, I put in an else: with a print statement but because of the for- statement, it prints it out for every single character.
answer = input('Try another password input? y/n ')
if answer == 'y'
answer = True
else:
break