我不知道下面的代码有什么问题。循环遍历列表中的所有元素,但只重复第一个输出。
我试图将偶数索引字符和奇数索引字符打印为空格分隔的字符串。
示例:
动物=‘大象’,‘猴子’,‘老虎’
我的代码正在打印以下内容
Out33
伊恩帕特
伊恩帕特
伊恩帕特
产出应是:
伊恩帕特
梅诺基
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谢谢你的帮忙!
发布于 2016-05-05 13:10:41
这是因为您只分配了一次w,在顶部。每次都应该在for循环中分配它。同样,even和odd。
发布于 2016-05-05 13:14:40
记住在animal中的每个animals之后重置循环变量:
>>> 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
... w = 0
... even = ""
... odd = ""
...
eehn lpat
mne oky
tgr ie
>>> https://stackoverflow.com/questions/37051482
复制相似问题