列表中的Python字符搜索

时间:2018-01-23 18:41:42

标签: python python-3.x

我有一个txt,第一行包含测试的好答案,其他行包括参与者的ID,他们回答('之间)。如果用户给出一个输入(称之为n),则表示问题的编号,我必须计算它们中有多少是好的(类似于[0]行中的n)#) txt就像:

BCCCDBBBBCDAAA

AB123 BXCDBBACACADBC

AD995 BABCDABCBCBBBA

AH97 BCACDBDDBCBBCA

AK260 DCDCBDDAACDBDB

AL580 AACCDBBCDCAACA

AN562 BAABBDCACCBDBB

我的代码是:

person=[]
with open('answers.txt', 'r') as v: 
    pcs=sum(1 for line in open('answers.txt'))
    for i in range(0, pcs):
        person.extend(v.read().strip().split())
result=0
jnum=input('which exesises result are you interested in? ')
jnum=int(jnum)
good=person[0]
good=good[jnum]
for i in range(0, pcs):
    letter=person[i*2]
    letter=letter[jnum]
    if good==letter:
        result+=1 
        print(result)
    else:
        result=result

1 个答案:

答案 0 :(得分:1)

是的,一旦你解决了足够的问题就会冻结它:你的最后两行是无限循环。您不会在循环中更改goodletter - 只要它们匹配,您就会陷入其中。

插入print语句以跟踪执行和数据值。

另外,我强烈建议您采用增量编程。你的代码有很多问题;你应该写几行,让确定他们的工作,然后继续下一个小组。