2016-04-05 2 views
-4

Ich muss schreiben eine Funktion, die Zeichen und Vokale aus einem String zählt, dass ein Benutzereingaben, und schreiben Sie eine Routine, die die Funktion und Anzeigen nennt dies zählt:Schreibe eine Funktion, die Zeichen und Vokale

$ ./count_all.py 
Enter some words: The sun rises in the East and sets in the West 
13 letters in 47 are vowels. 

Was wäre der beste Weg, dies zu tun?

+2

Mögliches Duplikat [Count Vokale in String Python] (http://stackoverflow.com/questions/19967001/count-vowels- In-String-Python) – idjaw

Antwort

1

unlesbar 1 Liner:

import re 
stringToTest = "a9821e89asdi89123o9812378u" 
print(str(len(re.findall(r"a|e|i|o|u", stringToTest, re.IGNORECASE))) + " letters in " + str(len(stringToTest)) + " are vowels") 
#6 letters in 26 are vowels 

lesbare Form

import re 
stringToTest = "a9821e89asdi89123o9812378u" 

stringLength = len(stringToTest) #length of stirng, this is how many characters we have 
regexResult = re.findall(r"a|e|i|o|u", stringToTest, re.IGNORECASE) #match for a or e or i or o or u 

numberVowels = len(regexResult) #our number of vowels is how many regex matches we got 


print(str(numberVowels) + " vowels in " + str(stringLength) + " characters") 

#6 vowels in 26 characters