【发布时间】:2021-01-30 08:43:47
【问题描述】:
#!/usr/bin/env python3
import re
passRegex = re.compile(r'''(
.{8,} # 8 or more characters
[A-Z] # at least 1 A-Z char
[a-z] # at least 1 a-z char
[0-9] # at least 1 0-9 number
)''', re.VERBOSE)
def strong_password():
password = input("Enter a password: ")
match = passRegex.search(password)
if (not match):
print("Password not strong enough")
return False
else:
print("Password is strong")
return True
strong_password()
这是来自第 7 章用 python 自动化无聊的东西。有人可以解释我做错了什么吗?由于某种原因,我的正则表达式无法按预期工作。
这是完整的问题:编写一个使用正则表达式的函数,以确保它传递的密码字符串是强密码。一个强壮的 密码被定义为至少八个字符长的密码,包含大写和小写 字符,并且至少有一位数字。您可能需要针对多个正则表达式模式测试字符串以 验证它的实力。
【问题讨论】:
-
“按预期”,也许可以按照您的意愿放置一些输入/输出示例,并解释您的代码在哪个输入上产生了错误的输出?顺便说一句,
if not b then else相当于if b else then -
对不起。这是一个示例: $ python3 strongPassword.py 输入密码:qweQWE123 密码不够强。我希望这是一个强密码。
标签: python-3.x