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
中的每个字母,并且在您到达逗号时会中断。
最后一行将打印逗号或最后一个字母,如果字符串中没有逗号。此外,我改变了循环限制,因为我认为你会得到一个测试不存在的字符的错误。
编辑:它适用于我,虽然我认为其他答案是这样做的更好的方法。我在下面运行了这个测试脚本,每次碰到逗号时它都会中断。
#!/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(",,,,,")
你究竟在试图解决什么问题?可悲的是,你的实际代码有很多逻辑错误:( – thefourtheye
删除'while True:'和它的'break' – theAlse
代码陷入无限循环,因为在while循环内'letter'永远不会改变 – HumptyDumptyEIZ