调用密码检查器的函数

时间:2018-05-25 08:16:00

标签: python

这是我的密码检查代码(无论是否有效)

我需要运行密码检查器5次,直到它有效。 如果它有效,我必须摆脱循环。

密码应超过7个字符。 密码需要包括数字(至少两个)和字符。 (如果没有,返回False) 应该没有空间。 如果除了数字和字符之外还有其他内容,我需要返回False

我需要在for循环中运行我的password_checker函数, 但是我不太确定在'if'之后该说什么。

我试过了 -

if a=False:
    print(password_checker(i))
    print(Invalid password)

但它不起作用。

另外,我不明白我应该如何在for循环中调用我的password_checker()。

最后,我需要在我的for循环中休息一下 如果输入中的密码有效。 但我不确定放置它的适当部分在哪里

def password_checker(password):
    a=True
    num_Count = 0
    if password.isalpha() == True:
        print ("error! needs numbers")
        a = False

    if password.isnum() == True:
         print ("error! needs characters")
         a = False

    if password.isspace() == True:
         print ("error! no space allowed")
         a = False

    if len(password)<=8:
         print ("error! needs more than 8 characters")
        a = False

    for i in range(0, 10):
         num_Count += password.count(i)
    if num_Count(password.count()) < 2:
             print("error! needs at least 2 numbers")
            a = False


password = str(input("Enter password: "))

for i in range(0,5):
     if ____________________:
         print(password_checker(i))
         print("Invalid password")
    else:
        print(password_checker(i))
        print("Valid password")
        break

如何更正我的代码以使我的功能正常工作?

1 个答案:

答案 0 :(得分:-2)

{{1}}

此代码适合您,现在让我解释一下:

流程如下:

这样做了5次(在for循环中):

1)向用户请求密码。

2)检查密码是否有效。

3)根据有效/无效结果进行打印。

  • 您使用for循环的事实并不要求您实际使用迭代索引(在我们的例子中意为“我”)