我有一个for循环和一些if语句我试图打印出一些数据如下:
for i in range(27):
if (i >= 0) and (i <= 11):
print " value %d = %02X" % (i, data.next())
if (i >= 16) and (i <= 27):
print " value %d = %02X" % (i, data.next())
因此,前12个值打印得很好,但是当i = 16到27时,i的值打印出来正确,但data.next())部分没有打印出来。它没跟上我,我很确定。有没有办法让.next()与i的值保持同步?
答案 0 :(得分:1)
正如alexis所说,你可以添加一个else子句并在其中调用data.next()。代码可能比我的解释更容易理解。
for i in range(27):
if (i >= 0) and (i <= 11):
print " value %d = %02X" % (i, data.next())
elif (i >= 16) and (i <= 27):
print " value %d = %02X" % (i, data.next())
else:
data.next()
或者,因为这两个条款做同样的事情你可以测试我何时&gt; 11和i&lt; 16。
for i in range(27):
if (i > 11) and (i < 16):
data.next() # keeps data moving forward even when i == 12, 13, 14, 15
else:
print " value %d = %02X" % (i, data.next()) # only prints when i == 0...11, 16...27