我正在尝试创建一个简单的passwprd应用程序,我想检查我的密码是否满足某些要求。我希望它的某处既有大写字母又有数字。我使用for循环将密码的每个字母存储在列表中,然后检查列表中的每个元素是否为大写。但是,当我在检查字母是否为大写的if语句中时,添加一个新的if statemnt,以检查字符之一是否为数字,if语句不返回任何内容。
def check_password():
characters = []
if len(password_entry.get()) >= 8:
for i in range (len(password_entry.get())):
characters.append(password_entry.get()[i])
if characters[i].isupper():
if characters[i].isdigit():
register_user()
print("password valid")
else:
password_not_valid_upper()
else:
password_not_valid_length()
您正在检查字符是否为大写,如果是,则检查它是否为数字。不能两者兼有,所以您总是会遇到else password_not_valid_upper()。