Password python project number
本问题已经有最佳答案,请猛点这里访问。
我正在为学校做一个密码项目,但我遇到了一个问题。这是无法正常工作的代码:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
def passwordStrength(password):
if password.islower(): print("Your password is weak as it only contains lower case letters") elif password.isupper(): print("Your password is weak as it only contains capital letters") elif password.isnumeric(): print("Your password is weak as it only contains numbers") elif password.islower and password.isupper: print("Your password is medium as it contains no numbers") elif password.islower and password.isnumeric: print("Your password is medium as it contains no uppercases") elif password.isupper and password.isnumeric: print("Your password is medium as it contains no lowercases") elif password.islower and password.isupper and password.isnumeric: print("Your password is strong") |
但如果我输入密码,例如”asasASAS1212″,它会说它不包含数字
您的代码的第一个问题是您没有调用方法本身。本质上,您需要在每次引用 islower、isupper 和 isnumeric 之后放置方括号(即 ())。
不过,更深层次的问题在于您使用这些方法的意图。函数 islower、isupper、isumeric 在语义上并不分别表示”此字符串包含小写字母字符”、”此字符串包含大写字母字符”和”此字符串包含数字字符”。这些函数检查整个字符串是否仅由这些字符组成。
因此,如果字符串中有单个数字(例如 “asd123”),方法 islower 将返回 false,因为该字符串中有不是小写字母的字符。
解决这个问题的方法不是很有效,就是单独检查字符串中的每个字符。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/268017.html