我正在尝试创建密码重置程序,其中包括计算所述密码中的小写和大写的数量。如果密码少于8个字母或者不包含大写或小写,它会拒绝密码,但是当有数字时程序会崩溃,因为它无法计算出有多少个数字:
__unicode__()
编辑:感谢您的帮助,但我的计划有效!谢谢伙计们!
答案 0 :(得分:1)
您可以通过汇总contenteditable
s / 1
的列表来获取密码中所有数字的计数,0
表示该字符是数字,{{1}否则:
1
或:
0
这也可以使用您的其他参数来完成:
>>> password= "134jhie92"
>>> sum([1 if c.isdigit() else 0 for c in password])
5
虽然扩展>>> sum(map(str.isdigit, password))
5
语句更有意义(如panatale1所示):
lower = sum(map(str.islower, password))
upper = sum(map(str.isupper, password))
nums = sum(map(str.isdigit, password))
答案 1 :(得分:0)
创建名为num
的变量并更改for
循环:
for c in password:
if c.isdigit():
num += 1
elif c.islower():
lower += 1
elif c.isupper():
upper += 1
else:
pass