Python - 循环只重复第一次输出

ksp*_*585 0 python loops

我不知道下面的代码有什么问题.循环遍历列表中的所有元素,但只重复第一个输出.

我试图在一行上打印偶数索引和奇数索引字符作为空格分隔的字符串.

示例:
animals = ['elephant','monkey','tiger']

我的代码正在打印如下

Out [33]:
eehn lpat
eehn lpat
eehn lpat

输出应该是:

eehn lpat
mne oky
tgr ie


这是我的python 2代码:

animals = ['elephant', 'monkey', 'tiger']
w=0
even="" 
odd=""


for animal in animals:
    while (w<len(animal)):
        if (w%2==0):
            even=even+animal[w]
        if (w%2!=0):
            odd=odd+animal[w]
        w=w+1
    print even+' '+odd
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

Joh*_*nck 6

这是因为你只w在顶部分配一次.您应该for每次在循环内分配它.同样evenodd.