Also im Grunde muss ich ein Programm machen, das den Benutzer nach einem String fragt und dann die Anzahl der Vokale im String zählt und ausgibt. Die Vokale, die zählen, sind a, e, i, o, u, y und die Großbuchstaben von diesen. Zum Beispiel würde die Eingabe "Ebenholz und Elfenbein" 7 drucken. Ich kann auch eingebaute String-Funktionen für dieses Problem verwenden.Versuchen Sie, eine Anfänger-Python-Looping-Aufgabe zu lösen?
Dies ist, was ich bisher:
userString = str(input("Please enter a string:"))
numVowels = 0
n=0
a=0
e=0
i=0
o=0
u=0
y=0
while (ord(userString[n]) != 0 or ord(userString[n+1])!=0):
if (userString[n] == 'a' or userString[n]=='A'):
a += 1
numVowels += 1
elif (userString[n] == 'e' or userString[n]=='E'):
e += 1
numVowels += 1
elif (userString[n] == 'i' or userString[n]=='I'):
i += 1
numVowels += 1
elif (userString[n] == 'o' or userString[n]=='O'):
o += 1
numVowels += 1
elif (userString[n] == 'u' or userString[n]=='U'):
u += 1
numVowels += 1
elif (userString[n] == 'y' or userString[n]=='Y'):
y += 1
numVowels += 1
n+=1
print("There are", numVowels, "vowels. There are", a, "A's", e, "E's", i, "I's", o, "O's", u, "U's, and", y, "Y's, including both uppercase and lowercase versions.")
Jedoch habe ich den Fehler erhalte:
IndexError: string index out of range
Bitte helfen ?? Ich benutze Python3
ist len (Zeichenkette) eine eingebaute Zeichenkettenfunktion? – Lia
Es ist eine integrierte globale Funktion, nicht auf Strings beschränkt; Es funktioniert auch auf Listen und Tupeln. –
Ich habe eine 'len()' weniger Option hinzugefügt; siehe Bearbeiten. –