我正在做一个密码验证器/检查程序作为我的计算的一部分作业。它必须有大小写字母,长度至少为8个字符。 到目前为止,我已经做到了:
new_password = input("Please enter your new password: ")
new_password2 = input("Please enter your new password again: ")
while new_password != new_password2:
print("The passwords don't match up.")
new_password = input("Please enter your new password: ")
new_password2 = input("Please enter your new password again: ")
if new_password == new_password2:
length = len(new_password)
while int(length) < 8:
print("Your password must be longer")
new_password = input("Please enter your new password: ")
new_password2 = input("Please enter your new password again: ")
letters = set(new_password)
lower = any(letter.islower() for letter in letters)
while new_password == new_password2:
if not lower:
print("Your password must contain a lowercase letter")
new_password = input("Please enter your new password: ")
new_password2 = input("Please enter your new password again: ")
upper = any(letter.isupper() for letter in letters)
while new_password == new_password2 :
if not upper:
print("Your password must contain an uppercase letter")
new_password = input("Please enter your new password: ")
new_password2 = input("Please enter your new password again: ")
代码运行,但由于某些原因,while循环不能正常工作,即使条件是正确的(例如,密码包含大写字母),用户再次输入密码的选项正在显示。有人能看一下告诉我这里的问题吗?谢谢
您只希望有一个while循环来检查每个需求。参见以下代码:
希望这有帮助!在
相关问题 更多 >
编程相关推荐