[英]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.