簡體   English   中英

為什么 append() 在這段代碼中不起作用?

[英]Why isnt the append() working in this block of code?

我已經單獨分解了這段代碼,一切正常。 然而 append() 方法僅追加一次,然后拒絕添加任何其他內容。 我對此完全失去了理智。

x = input("Input Password: ")

epicfail = []

def numberchecker(b):
    return any(i.isdigit() for i in b)

def spacechecker(c):
    return any(o.isspace() for o in c)

def passwordvalidator(a):
    if len(a) < 12:
        epicfail.append("Your password is too short!")
    elif a.islower() == True:
        epicfail.append("Your password contains zero uppercase letters!")
    elif a.isupper() == True:
        epicfail.append("Your password contains zero lowercase letters!")
    elif numberchecker(x) == False:
        epicfail.append("Your password contains zero numbers!")
    elif spacechecker(x) == True:
        epicfail.append("Your password contains a whitespace!")
    return epicfail

print(passwordvalidator(x))

我希望 append() 方法每次激活時都會將 append 添加到 epicfail 列表中。 然而只是追加一次。 我嘗試單獨分解每一段代碼,但一切正常。

當您使用elif時,滿足一個條件時,將忽略所有其他條件。 如果你想多次觸發,只需使用if代替。

此外,您可以在檢查 boolean 時刪除“== True”,並將“if xxx == False:”替換為“if not xxx:”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM