如何使用.next()跳过某个数字

时间:2015-11-30 00:21:20

标签: python

我有一个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的值保持同步?

1 个答案:

答案 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