【问题标题】:How do i change my code to not include builtin functions如何更改我的代码以不包含内置函数
【发布时间】:2023-03-26 15:05:01
【问题描述】:

我有一个学校的作业,我要做一个检查密码强度的程序。正如你在下面看到的,我已经制作了这个程序。当我上交时,我收到了它,因为使用内置函数any()很方便。如何调整或更改我的程序以不包含 any() 函数。

import time

print ("Check of uw wachtwoord veilig genoeg is in dit programma.")
time.sleep(1)
print ("Uw wachtwoord moet tussen minimaal 6 en maximaal 12 karakters
bestaan")
print ("U kunt gebruik maken van hoofdletters,getallen en symbolen (@,#,$,%)")


klein = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
groot = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
nummers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
symbolen= [' ', '!', '#', '$', '%', '&', '"', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '~',"'"]

def ok(passwd,l):
return any(k in passwd for k in l)  # checkt of een letter in de lijst in   het wachtwoord zit.

while True:
    inp = input("Wilt u dit programma gebruiken? ja/nee: ")
    if inp == "nee" and "Nee" and "NEE":
    break

elif inp == "ja" and "Ja" and "JA":
    ww = input("Voer uw wachtwoord in: ")
    if len(ww) < 6:
        print ("uw wachtwoord is te kort, uw wachtwoord moet uit minimaal 6 en maximaal 12 karakters bestaan!")
    elif len(ww) > 12:
        print ("uw wachtwoord is te lang, uw wachtwoord moet uit minimaal 6 en maximaal 12 karakters bestaan!")
    elif len(ww) >= 6 and len(ww)<= 12:
        sww = set(ww)           # set is een onorganiseerde verzameling dat betekent dat het niet op order is bijv. SaUj%2F3 = Oonorganiseerd        
        if all(ok(sww,l) for l in [klein,groot,nummers,symbolen]):
            print ("uw wachtwoord is Zeer sterk")
        elif all(ok(sww,l) for l in [klein,groot,nummers]):
            print ("uw wachtwoord is Sterk")
        elif all(ok(sww,l) for l in [klein,groot,symbolen]):
            print ("uw wachtwoord is Sterk")
        elif all(ok(sww,l) for l in [groot,nummers,symbolen]):
            print ("uw wachtwoord is Sterk")
        elif all(ok(sww,l) for l in [nummers,symbolen,klein]):
            print ("uw wachtwoord is Sterk")
        elif all(ok(sww,l) for l in [nummers,symbolen]):
            print ("uw wachtwoord is Medium")
        elif all(ok(sww,l) for l in [groot,nummers]):
            print ("uw wachtwoord is Medium")
        elif all(ok(sww,l) for l in [groot,symbolen]):
            print ("uw wachtwoord is Medium")
        elif all(ok(sww,l) for l in [klein,groot]):
            print ("uw wachtwoord is Medium")
        elif all(ok(sww,l) for l in [klein,nummers]):
            print ("uw wachtwoord is Medium")
        elif all(ok(sww,l) for l in [klein,symbolen]):
            print ("uw wachtwoord is Medium")
        elif all(ok(sww,l) for l in [klein]):
            print ("uw wachtwoord is Zwak")
        elif all(ok(sww,l) for l in [symbolen]):
            print ("uw wachtwoord is Zwak")
        elif all(ok(sww,l) for l in [nummers]):
            print ("uw wachtwoord is Zwak")
        elif all(ok(sww,l) for l in [groot]):
            print ("uw wachtwoord is Zwak")

【问题讨论】:

标签: python python-3.x


【解决方案1】:

修复原版错误后

import time

print ("Check of uw wachtwoord veilig genoeg is in dit programma.")
time.sleep(1)
print ("Uw wachtwoord moet tussen minimaal 6 en maximaal 12 karakters bestaan")
print ("U kunt gebruik maken van hoofdletters,getallen en symbolen (@,#,$,%)")


klein = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
groot = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
nummers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
symbolen= [' ', '!', '#', '$', '%', '&', '"', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '~',"'"]

def ok(passwd,l):
    return any(k in passwd for k in l)  # checkt of een letter in de lijst in   het wachtwoord zit.

while True:
    inp = raw_input("Wilt u dit programma gebruiken? ja/nee: ")
    if inp.lower() == "nee":
        break
    elif inp.lower() == "ja":
        ww = raw_input("Voer uw wachtwoord in: ")
        if len(ww) < 6:
            print ("uw wachtwoord is te kort, uw wachtwoord moet uit minimaal 6 en maximaal 12 karakters bestaan!")
        elif len(ww) > 12:
            print ("uw wachtwoord is te lang, uw wachtwoord moet uit minimaal 6 en maximaal 12 karakters bestaan!")
        elif len(ww) >= 6 and len(ww)<= 12:
            sww = set(ww)           # set is een onorganiseerde verzameling dat betekent dat het niet op order is bijv. SaUj%2F3 = Oonorganiseerd        
            if all(ok(sww,l) for l in [klein,groot,nummers,symbolen]):
                print ("uw wachtwoord is Zeer sterk")
            elif all(ok(sww,l) for l in [klein,groot,nummers]):
                print ("uw wachtwoord is Sterk")
            elif all(ok(sww,l) for l in [klein,groot,symbolen]):
                print ("uw wachtwoord is Sterk")
            elif all(ok(sww,l) for l in [groot,nummers,symbolen]):
                print ("uw wachtwoord is Sterk")
            elif all(ok(sww,l) for l in [nummers,symbolen,klein]):
                print ("uw wachtwoord is Sterk")
            elif all(ok(sww,l) for l in [nummers,symbolen]):
                print ("uw wachtwoord is Medium")
            elif all(ok(sww,l) for l in [groot,nummers]):
                print ("uw wachtwoord is Medium")
            elif all(ok(sww,l) for l in [groot,symbolen]):
                print ("uw wachtwoord is Medium")
            elif all(ok(sww,l) for l in [klein,groot]):
                print ("uw wachtwoord is Medium")
            elif all(ok(sww,l) for l in [klein,nummers]):
                print ("uw wachtwoord is Medium")
            elif all(ok(sww,l) for l in [klein,symbolen]):
                print ("uw wachtwoord is Medium")
            elif all(ok(sww,l) for l in [klein]):
                print ("uw wachtwoord is Zwak")
            elif all(ok(sww,l) for l in [symbolen]):
                print ("uw wachtwoord is Zwak")
            elif all(ok(sww,l) for l in [nummers]):
                print ("uw wachtwoord is Zwak")
            elif all(ok(sww,l) for l in [groot]):
                print ("uw wachtwoord is Zwak")

如果你真的不想使用 any() 类似下面的方法

def ok(passwd,l):
    for c in passwd:
        if c in l: return True
    return False

遍历密码直到在列表中找到一个字符

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 2014-12-10
    相关资源
    最近更新 更多