我创建了一个程序来接收密码并告诉用户密码错误的字符数。为此,我使用了difflib.Differ()。
但是,我不确定如何创建另一个循环,以便在输入缺少字符时也能告诉我密码错误的字符数。
这是检查功能本身。
import difflib
def check_text(correctPass, inputPass):
count = 0
difference = 0
d = difflib.Differ()
count_difference = list(d.compare(correctPass, inputPass))
while count < len(count_difference):
if '+' in count_difference[count]:
difference +=1
count +=1
return difference
目前,如果错误是额外的字符,该功能只会发现错误(在这种情况下,正确的密码是“生锈的”#39;)。
我对difflib的理解很差。我是否创建了一个新循环,交换&lt;对于&gt;和-s的-s?或者我只是改变while循环中的条件?
编辑: 示例输入/输出:rusty33 - &gt; 2个字符错了 rsty - &gt;错误的0个字符
我主要试图让函数检测是否有字符丢失或者是额外的,而不是对当前字符的顺序过于讨厌。