首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -循环只重复第一个输出。

Python -循环只重复第一个输出。
EN

Stack Overflow用户
提问于 2016-05-05 13:08:52
回答 2查看 323关注 0票数 0

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

我试图将偶数索引字符和奇数索引字符打印为空格分隔的字符串。

示例:

动物=‘大象’,‘猴子’,‘老虎’

我的代码正在打印以下内容

Out33

伊恩帕特

伊恩帕特

伊恩帕特

产出应是:

伊恩帕特

梅诺基

tgr ie

下面是我的python 2代码:

代码语言:javascript
复制
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

谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-05 13:10:41

这是因为您只分配了一次w,在顶部。每次都应该在for循环中分配它。同样,evenodd

票数 6
EN

Stack Overflow用户

发布于 2016-05-05 13:14:40

记住在animal中的每个animals之后重置循环变量:

代码语言:javascript
复制
>>> 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
>>> 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37051482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档