首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qwerty检验指标超出范围

Qwerty检验指标超出范围
EN

Code Review用户
提问于 2017-11-09 11:27:00
回答 1查看 118关注 0票数 -2
代码语言:javascript
复制
passArray = ['s','d','f','r']

qwertyLine=["QWE","WER","ERT","RTY","TYU","YUI","UIO","IOP","ASD","SDF","DFG","FGH","GHJ","HJK","JKL","ZXC","XCV","CVB","VBN","BNM"]

PasswordScore = 0

NumQwerty = 0

for x in range(0,len(passArray)-1):

    qwertyCheck = passArray[x] + passArray[x+1] + passArray[x+2]
    check = qwertyCheck.upper()
    if check in qwertyLine:
        NumQwerty = NumQwerty + 1

QwertyDeduction = NumQwerty * 5

PasswordScore = PasswordScore - QwertyDeduction

print(PasswordScore)

我试图在一个列表中一起检查qwerty字符,当我运行下面的代码时,我得到了超出范围错误的索引,但不确定原因。

任何帮助都是非常感谢的。

EN

回答 1

Code Review用户

回答已采纳

发布于 2017-11-09 13:03:29

len(passArray)中减去2,而不是1。

编辑:在第一次迭代中,check被设置为'SDF‘。对于第二个,check被设置为'DFR‘。在第三次迭代中,当range为(0,3)时,您将超过列表的末尾,因此您将得到IndexError: list index out of range

但是,如果从长度中减去2,就会得到一个range(0, 2),然后循环遍历列表两次,所以首先有check = 'SDF',然后是check = 'DFR',循环在这里结束。

票数 -1
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/179995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档