gpt4 book ai didi

python 密码检查器 : numbers and symbols

转载 作者:太空狗 更新时间:2023-10-30 02:09:58 25 4
gpt4 key购买 nike

我是 python 的新手,但遇到了问题。我需要检查密码的大写、小写、数字和符号。每个类别需要 1 个,整个密码需要超过 6 个字符。到目前为止,我有大写和小写。 raw_input 作为字符串输入,那么我如何检查该字符串中的数字和符号?

到目前为止我的代码:

p = raw_input(("plz enter a password to check it's strength"))

if len (p) <= 6:
if p.isupper() or p.islower() or int(p):
print"This is a weak password "
elif len(p) > 6 and len(p) <26:
if p.isupper() or p.islower() or isdigit():
print "wea2k"
else:
print "good"

所以我需要知道的是如何检查输入的数字和符号。

最佳答案

尝试一次满足一项要求。

has_upper = False
for char in p:
if char.isupper():
has_upper = True
break

对小写字母和数字重复此操作。对于特殊字符,使用相同类型的循环,但将 if 更改为如下所示:

if not (char.isupper() or char.islower() or char.isdigit()):

最后,如果所有四个标志都为真,那么您就有了一个强密码;否则,它很弱。

你能从那里完成编码吗?


正如您所知,有一些方法可以编写更“Pythonic”的代码——更好地使用该语言的风格。例如:

has_upper = reduce(lambda a, b: a or b.isupper(), [_ for _ in p], False)

... 替换了我给你的整个 5 行 block 。

关于python 密码检查器 : numbers and symbols,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32874900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com