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
'True :'와 그 'break'를 제거하십시오 – theAlse
코드는 루프 내에서 결코 변경되지 않기 때문에 무한 루프가됩니다. – HumptyDumptyEIZ