首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >for循环内的python while循环未中断

for循环内的python while循环未中断
EN

Stack Overflow用户
提问于 2014-02-21 19:56:38
回答 3查看 223关注 0票数 1

为什么这不是for循环中断?我得到的只是stats变量的第一个字母和一个从0到无穷大的计数。

代码语言:javascript
复制
x = 0

for letter in range(0,len(stats)):
    while True:
        if stats[letter] != ',':
            x += 1
            print(stats[letter])
            print (x)
        elif stats[letter] == ',':
            break
    break
    print(stats[letter])
EN

回答 3

Stack Overflow用户

发布于 2014-02-21 19:58:11

它不会中断,因为您的letter在while循环中永远不会改变。如果

代码语言:javascript
复制
stats[letter] != ','

while循环开始时,该分支将被一遍又一遍地使用。

票数 1
EN

Stack Overflow用户

发布于 2014-02-21 20:02:46

代码语言:javascript
复制
for letter in range(0,len(stats)-1):

    if stats[letter] != ',':
        x += 1
        print(stats[letter])
        print (x)
    elif stats[letter] == ',':
        break

print(stats[letter])

我想上面的代码就是你想要的。您不需要while循环,for循环将测试字符串stats中的每个字母,并在到达逗号时中断。

最后一行将打印一个逗号,如果字符串中没有逗号,则打印最后一个字母。此外,我更改了循环限制,因为我认为测试一个不存在的字符时会出现错误。

编辑:它适用于我,尽管我认为另一个答案是更好的方法。我运行下面的测试脚本,每次遇到逗号时它都会崩溃。

代码语言:javascript
复制
#!/usr/bin/python

def SO_answer(stats):

x = 0

for letter in range(0,len(stats)-1):
        if stats[letter] != ',':
            x += 1
            print(stats[letter])
            print (x)
        elif stats[letter] == ',':
            break

print(stats[letter])


SO_answer("test")

SO_answer("testing, 1, 2, 3")

SO_answer("Here's a long string with a comma at the end,")

SO_answer(",,,,,")
票数 0
EN

Stack Overflow用户

发布于 2014-02-21 20:03:06

这就是你要解决的问题吗?内置的enumerate()提供了一个index和一个iterablevalue

代码语言:javascript
复制
>>> stats = 'this is my stats string, which is iterated until comma'
>>> for index, letter in enumerate(stats):
...     if letter == ',':
...         break
...     print index, letter
...     
... 
0 t
1 h
2 i
3 s
4  
5 i
6 s
7  
8 m
9 y
10  
11 s
12 t
13 a
14 t
15 s
16  
17 s
18 t
19 r
20 i
21 n
22 g
>>> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21933853

复制
相关文章

相似问题

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