2016-05-28 17 views
0

Ich brauche eine Grube der Hilfe. Ich lerne gerade Python, und ich habe Python 2.7.8 Ich bin auf der Suche nach einem einfachen Programm, das hilft, die Vokale in meinem Wort zu zählen. Hier ist der Code:Drucken, Schleife, Einzug, Python

count = 0 
total = 0 
for v in "bonbon": 
    count += 1 
    if v == 'e' or v == 'o' or v == 'u' or v == 'a': 
    print('the number of vowel in your word is ' +str(total)) 

Warum es zweimal nicht gedruckt werden? 1- die Nummer meines Vokal ist 0 und dann die Nummer von mir ist 2

Könnte mir bitte jemand helfen? Danke Jungs

+1

Bei zukünftigen Fragen überprüfen Sie die Symbolleiste über dem Textfeld, wenn Sie eine Frage stellen/bearbeiten. Es gibt einen Codeblock-Button, der mit '{}' gekennzeichnet ist. Wenn Sie Ihren Code auswählen und auf diese Schaltfläche klicken, wird er automatisch korrekt eingerückt und in der Frage korrekt angezeigt. – Sumurai8

Antwort

0

Es wird zweimal gedruckt, weil Sie den Druck innerhalb der for-Schleife haben. Sie sollten stattdessen total in der for-Schleife erhöhen und anschließend ausdrucken. Wenn Sie dies tun:

count = 0 
total = 0 
for v in "bonbon": 
    count += 1 
    if v == 'e' or v == 'o' or v == 'u' or v == 'a': 
    total += 1 

print('the number of vowel in your word is ' + str(total)) 

Es sollte funktionieren.

+1

Ich würde vorschlagen zu überprüfen, ob ein Buchstabe ein Vokal ist oder nicht in einer mehr pythischen Weise, nämlich '' if v in 'aeiouAEIOU': '' – Tonechas

+0

Vielen Dank.Ist jetzt sortiert – Herc01

+0

Ich weiß einfach nicht, wie zu tun ist es/nicht wirklich diese Seite benutzen – Herc01