首页 > 解决方案 > 如何修复循环输出语句?

问题描述

我有一个 for 循环语句,我想按顺序打印列表或数组中的所有信息。

期望的输出:

BUS: 1 JBUS: 12 ICKT: 1 
IBUS: 3 JBUS: 12 ICKT: 1 
IBUS: 4 JBUS: 16 ICKT: 1 
IBUS: 5 JBUS: 12 ICKT: 1 
IBUS: 1 JBUS: 14 ICKT: 2 
IBUS: 2 JBUS: 11 ICKT: 1

不幸的是,这是我收到的输出:

IBUS: 1 JBUS: 12 ICKT: 1 
IBUS: 1 JBUS: 12 ICKT: 1 
IBUS: 1 JBUS: 12 ICKT: 1 
IBUS: 1 JBUS: 12 ICKT: 1 
IBUS: 1 JBUS: 12 ICKT: 2 
IBUS: 1 JBUS: 12 ICKT: 1

它似乎在循环第三个数组。我认为我的嵌套循环设置不正确。

FROM_BUS=[1,3,4,5,1,2]
TO_BUS=[12,12,16,12,14,11]
CKT=[1,1,1,1,2,1]
for bus in FROM_BUS:
    for buz in TO_BUS:
        for buc in CKT:
            print('IBUS: {} JBUS: {} ICKT: {} '.format(bus, buz, buc))

标签: pythonpython-3.xpython-2.7

解决方案


我认为错误是由于嵌套循环造成的。这应该有效:

FROM_BUS=[1,3,4,5,1,2]
TO_BUS=[12,12,16,12,14,11]
CKT=[1,1,1,1,2,1]


for f,t,c in zip(FROM_BUS, TO_BUS, CKT):
    print('IBUS: ' + str(f) + ' JBUS: ' + str(t) + ' ICKT: ' + str(c))

推荐阅读