Я немного изучаю Python и пытаюсь решить следующую проблему: Часть процедуры проверки приведена ниже. Когда пользователь вводит пароль, он проверяется на наличие от 8 до 15 символов, а затем запрашивается подтверждение пароля, вводя его снова. Требовать выполнения задачи (а) СОСТОЯНИЕ 1, СОСТОЯНИЕ 2 и задача (b) оператор IF ... ELSE. Запрограммируйте и протестируйте программу.
password1 = input("Please enter a new password, between 8 and 15 characters: ")
match = False
while CONDITION 1
while CONDITION 2
password1 = input ("Password must be between 8 and 15 characters - please re-enter: ")
endwhile
password2 = input ("Please verify password: ")
if ....
print
else
endif
endwhile
Я выполнил задание (b), но в задании (a) возникла проблема с условием while l oop "while match:". Когда я оставляю переменную match = False и ввожу пароль с необходимым количеством символов, l oop сразу завершается и не проверяет оператор if .. else. Если я напишу match = True и с первой попытки введу неверное количество символов (с правильным номером оно снова завершит l oop), программа все равно будет проверяться, игнорируя количество символов. Если пароль был тем же (пример 111 и 111), он возвращается к l oop и снова запрашивает пароль с необходимым количеством символов. Затем, если я ввожу после правильного количества символов и проверки пароля то же самое, это завершает программу, как это должно быть. Я думаю, что-то с условием «совпадать» в то время как l oop не правильно, но не может понять, каким оно должно быть. Спасибо
password1 = input("Please enter a new password, between 8 and 15 characters: ")
match = True
while len(password1) < 8 or len(password1) > 15:
password1 = input ("Password must be between 8 and 15 characters - please re-enter: ")
while match:
password2 = input ("Please verify password: ")
if password1 == password2:
print ("Password is valid")
break
else:
print ("Password is invalid")