2017-07-04 2 views
1

Dies ist mein erstes Mal auf dieser Website und bin neu in der Programmierung. Ich möchte, dass der Benutzer ein anderes Wort eingeben kann, wenn er "y" sagt. Ab sofort sendet das Programm sie an die während Aussagen. Jeder Rat würde geschätzt werden.Zurück zu meiner if-Anweisung

print('Welcome to Word Madness!!') 

vowels = list('aeioyu') 

consonants = list('bcdfghjklmnpqrstvwxz') 

wordCount = 0 

complete = False 

while not complete: 
    mode = input('Would you like to type Vowels, Consonants, or Quit?: ').lower().strip() 
    print('You chose to enter: ',str(mode)) 

#When user chooses to quit program will system exit 

    if mode == 'quit': 
     print('Sorry to see you go! Come back to Word Madness soon!') 
     import sys 
     sys.exit(0) 

#If vowels are selected then they will be counted 

    if mode == 'vowels': 
     word = input('Please enter your word!') 
     number_of_vowels = sum(word.count(i) for i in vowels) 
     print('Your word was : ',word,'Your Vowel count was: ',number_of_vowels) 
     wordCount = wordCount + 1 
     choice = input('Do you have another word? Y/N: ').lower().strip() 

     if choice == 'n': 
      averageV = int(number_of_vowels // wordCount) 
      print('Your average number of Vowels was: ',averageV) 
      print('Thank you for using Word Madness!') 
      complete = True 

     else: 
      mode = 'vowels' 

#If consonants are selected then they will be counted 

    elif mode == 'consonants': 
     word = input('Please enter your word!') 
     number_of_consonants = sum(word.count(i) for i in consonants) 
     print('Your word was : ',word,'Your Consonant count was: ',number_of_consonants) 
     wordCount = wordCount + 1 
     choice = input('Do you have another word? Y/N: ').lower().strip() 

     if choice =='n': 
      averageC = int(number_of_consonants // wordCount) 
      print('Your average number of Consonants was: ',averageC) 
      print('Thank you for using Word Madness!') 
      complete = True 
#If user has no more words to enter then they are given an average 

     else: 
      mode == 'consonants' 

    else: 
     print('ERROR! INVALID INPUT DETECTED!') 
+0

Der Code scheint mir gut. Können Sie stattdessen klarstellen, wonach Sie den Code suchen? – ifconfig

+0

Gibt es hier eine Frage? Es gibt keinerlei klare Problemstellung. –

+0

Ich entschuldige mich. Das Problem ist, dass, wenn der Benutzer "y" eingibt, anstatt zurück zu dem if-Modus == x zu gehen, zu dem while nicht abgeschlossen wird. Wollte wissen, ob es einen Weg für die Benutzereingabe gab, zu dem sie zurückkehrten, als sie Vokal oder Konsonant eingaben, anstatt das Programm neu zu starten. –

Antwort

0

Aus Ihrer Frage und der Kommentar, ich nehme an, dass Sie

mode = Eingang (‚Würden Sie Vokale, Konsonanten gerne eingeben oder Quit ?:‘) fragen wollen .unterhalb(). Streifen()

nur einmal. Wenn dies der Fall ist, können Sie diese Anweisung direkt über der while-Schleife verschieben. Oder Sie können auch eine Option angeben, ob der Benutzer den Modus wirklich erneut angeben möchte.

+0

Das hat funktioniert! Vielen Dank! –

+0

@DarrellHooper Wenn dies die Antwort war, die Sie erwarteten, können Sie es als Antwort bitte markieren? –

0

Ok, für das, was ich verstanden habe, wissen Sie nicht, wie Sie zurück in den Code gehen. Hierzu sollten Sie lernen, wie man functions in Python verwendet. Was ist eine Funktion?

Eine Funktion ist ein Block aus organisiertem, wiederverwendbarem Code, der zum Ausführen einer einzelnen verwandten Aktion verwendet wird. Funktionen bieten eine bessere Modularität für Ihre Anwendung und einen hohen Grad an Code-Wiederverwendung. (Definition aus dem Internet)

Also ich würde vorschlagen, dass Sie mehr über Funktionen finden, weil es sehr nützlich ist. Nach Funktionen Lernen Sie sollte hinzufügen, dass:

Nach jedem

if choice =='n': 
     averageC = int(number_of_consonants // wordCount) 
     print('Your average number of Consonants was: ',averageC) 
     print('Thank you for using Word Madness!') 
     complete = True 

hinzufügen

elif choice == 'n': 
     function() 

Funktion() -> Aufruf der Hauptfunktion.

+1

Danke! Stellen Sie sicher, dass ich in meinem Lernen Priorität habe! –

Verwandte Themen