Python 我怎样才能增加a中的I值?

Python 我怎样才能增加a中的I值?,python,Python,我想将I的值增加6,以读取包含4个答案的问题和正确答案字符的文件,例如: A Which sport uses the term LOVE ? Tennis Golf Football Swimming B What is the German word for WATER ? Wodar Wasser Werkip Waski 我的代码: fd = open(dFile) lineas=fd.readlines() fd.close() for i in range(len(lineas)

我想将I的值增加6,以读取包含4个答案的问题和正确答案字符的文件,例如:

A
Which sport uses the term LOVE ?
Tennis
Golf
Football
Swimming
B
What is the German word for WATER ?
Wodar
Wasser
Werkip
Waski
我的代码:

fd = open(dFile)
lineas=fd.readlines()
fd.close()

for i in range(len(lineas)):
    print "CA:"+lineas[i]+"Q:"+lineas[i+1]+"A1:"+lineas[i+2]+"A2:"+lineas[i+3]+"A3:"+lineas[i+4]+"A4:"+lineas[i+5];
    i=i+6
尝试将“步长”参数用于range或xrange:

fd = open(dFile)
lineas = fd.readlines()
fd.close()

for i in xrange(0, len(lineas), 6):
    print "CA:"+lineas[i]+"Q:"+lineas[i+1]+"A1:"+lineas[i+2]+"A2:"+lineas[i+3]+"A3:"+lineas[i+4]+"A4:"+lineas[i+5];
具有可选的
步骤
参数

for i in range(0, 10, 3):
    print i  # Prints 0, 3, 6, 9
对于您的情况,使用6的步长

for i in range(0, len(lineas), 6):

下面的代码片段演示了一种将输入文件中的每组六行作为元组处理的方法,它删除了一些笨拙的
lineas[i]、lineas[i+1]
etc索引(代价是看起来笨拙的
zip
语句)。第一段代码只是创建一个包含编号行的测试文件

with open('eh','w') as fo:
    for i in range(19):
        fo.write('{}\n'.format(i))
...
with open('eh') as fi:
    for (ca,q,a1,a2,a3,a4) in zip(*[iter(fi.readlines())]*6):
        print "CA:"+ca+"Q:"+q+"A1:"+a1+"A2:"+a2+"A3:"+a3+"A4:"+a4
这会产生像这样的输出

CA:0
Q:1
A1:2
A2:3
A3:4
A4:5

CA:6
Q:7
A1:8
(etc)
注意,我通常会这样写

print 'CA: {} Q: {} A1: {} A2: {} A3: {} A4: {}'.format(ca,q,a1,a2,a3,a4)
而不是

print "CA:"+ca+"Q:"+q+"A1:"+a1+"A2:"+a2+"A3:"+a3+"A4:"+a4