问题是:编写一个检查字符串是否为有效密码的函数。在
规则:密码必须至少包含8个字符密码必须仅包含字母和数字密码必须至少包含2个数字
我的def counts digitsfor有问题,我希望它至少检查2个数字。在
def getPassword():
return input("Enter password: ")
def CountDigitsFor(password):
res = []
for i in password:
if i.isdigit():
res.append(i)
return int
def validPassword(password):
if len(password) >= 8:
if password.isalnum():
if CountDigitsFor(password) >= 2:
return True
else:
return False
def main():
password = getPassword()
if validPassword(password):
print(password + " is valid")
else:
print(password + " is invalid")
main()
为什么不直接用这个:
我已经在你的另一个问题中提供了上述内容,但为了以防万一,我将给你一个简短的描述,说明这是如何运作的。在
上面的内容相当于您想要的,但只在一行中。这样做的目的是循环检查密码的字符,检查字符是否为数字,然后得到密码中数字的总和。在
然后,在您调用
^{pr2}$CountDigitsFor()
之后,您将得到密码中的位数,您可以使用您提供的if语句检查它们是否至少为2。在只是返回类
^{pr2}$int
。您要返回的是位数。当然是:相关问题 更多 >
编程相关推荐