2017-05-12 3 views
0

sind Ich habe fast alles in meinem Hausaufgabenprogramm beendet. Das letzte Merkmal ist, dass das Programm die spezifischen Vokale anzeigt, die in der Eingabe gefunden wurden. Zum Beispiel:Wie zeige ich an, welche spezifischen Vokale in dem Wort

Please enter a word: look 
The vowels in your word are 
o 
o 
there were 2 vowels 
I'm terribly sorry if I missed any 'y's. 

Code:

def main(): 
    vowels = ["a","e","i","o","u"] 
    count = 0 
    string = input(str("please enter a word:")) 
    for i in string: 
     if i in vowels: 
      count += 1 

    print("The vowels in your word are:") 

    print("There were",count,"vowels") 
    print("Sorry if I missed any 'y's") 

if __name__ == "__main__": 
    main() 
+0

Nun, Sie Zugriff im richtigen Moment auf jeden Vokal haben, warum sie nicht drucken? –

+0

Sie haben zwei Möglichkeiten: 1) Drucken Sie die Vokale, wie Sie sie finden (in der Schleife) oder 2) sammeln Sie sie in einer Liste und drucken Sie sie später. – Linuxios

+0

Versuchen Sie, die Vokale in eine Wörterbuchzuordnung von einem Vokal zur Anzahl der Vorkommen zu ändern. – afifit

Antwort

2

Alles, was Sie fehlt, ist eine Zeichenfolge der Vokale zu halten, wie Sie sie finden. Das ist viel wie das Zählen der Vokale. Starten Sie es am "Basiswert" einer Zeichenkette, der leeren Zeichenkette. Jedes Mal, wenn Sie einen Vokal finden, fügen Sie ihn hinzu (verketten Sie ihn). Zum Beispiel:

vowels_found = "" 
for i in string: 
    if i in vowels: 
     vowels_found += i 
print(vowels_found) 
print(len(vowels_found)) 

Danach drucken vowels_found nur, wo Sie geplant. Wenn Sie sie in separaten Zeilen, wie in Ihrem Posted Sample möchten, dann drucken Sie jeweils innerhalb die Schleife, und verwenden Sie nicht vowels_found überhaupt.

Es gibt weiter fortgeschritten ist, mehr direkte Wege, dies in Python zu tun: Sie können die Filterung in einer einzigen Anweisung enthalten können, so dass diese Routine im Grunde zwei Zeilen lang ist: man die Vokale zu sammeln, die andere zu zählen und sie drucken . Machen Sie sich über die etwas später in der Klasse Sorgen ... aber wenn jemand diese Lösungen postet, passen Sie auf. :-)

0

Sie können eine Druckanweisung in Ihre if setzen. Wenn ein Vokal gefunden wird, wird er so gedruckt, wie Sie ihn in Ihrer Frage angezeigt haben.

Hinweis: Sie müssen Ihre print("The vowels in your word are:") vor Ihre if verschieben, damit sie vor den Vokalen gedruckt wird.

zB

def main(): 
    vowels = ["a","e","i","o","u"] 
    count = 0 
    string = input(str("please enter a word:")) 
    print("The vowels in your word are:") #puts text before the vowels printed in `if` 
    for i in string: 
     if i in vowels: 
      count += 1 
      print (i) #prints the vowel if it is found 



    print("There were",count,"vowels") 
    print("Sorry if I missed any 'y's") 

if __name__ == "__main__": 
main() 
Verwandte Themen