Wie kann ich die for - Schleife in eine while - Schleife ändern? Was sind die wesentlichen Unterschiede zwischen der Verwendung der Schleife for und while?

S="I had a cat named amanda when I was little"
count = 0
for i in S:
    if i =="a":
        count += 1
print (count)
-2
Greg Todd 20 Okt. 2012 im 09:13

3 Antworten

Beste Antwort

Es folgt die while-Schleifenimplementierung desselben Codes.

i = 0
count = 0
while i < len(S):
    if S[i] == 'a':
        count += 1
    i += 1
print count
3
Srijan 20 Okt. 2012 im 05:31

Sie können dies auch über die Boolesche Natur einer leeren Zeichenfolge / Liste / eines leeren Wörterbuchs tun.

S="I had a cat named amanda when I was little"
count = 0
while S:
    # pop the first character off of the string
    ch, S = S[0], S[1:]
    if ch == "a":
        count += 1
print (count)
0
koblas 20 Okt. 2012 im 05:36

Sie benötigen einen Zähler, der jedes Mal erhöht wird, wenn "while counter

Hier ist ein Anfang:

index = 0
count = 0
while index < len(S):
    #do something with index and S ...
    index += 1
1
mgilson 20 Okt. 2012 im 05:25