2017-07-04 6 views
1

これはこのサイトで初めてのことであり、プログラミングの初心者です。彼らが "y"と答えたら、別の単語を入力できるようにする必要があります。今のところ、プログラムはに、の文は返信します。アドバイスをいただければ幸いです。私のif文に戻る

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

コードはわかりやすいようです。代わりにコードが探しているものを明確にすることはできますか? – ifconfig

+0

ここに質問がありますか?まったく明確な問題文はありません。 –

+0

私はお詫び申し上げます。問題は、ユーザーが "y"を入力すると、ifモード== xに戻るのではなく、完了していない間に戻るということです。始めからやり直すのではなく、母音や子音を入力したときにユーザーの入力が戻ってくる方法があるかどうかを知りたい。 –

答えて

0

あなたの質問やコメントから、私はあなたが

モード=入力(「あなたは母音、子音、または終了を?:入力したい」).lower()。ストリップを依頼することを前提としてい

一度だけです。そのような場合は、その文をwhileループのすぐ上に移動できます。 また、ユーザーが実際にモードを再度指定するかどうかのオプションを指定することもできます。

+0

それはうまくいった!ありがとう! –

+0

@DarrellHooperこれがあなたが期待していた答えだったら、それを答えとしてマークできますか? –

0

[OK]を、私はあなたがコード内に戻る方法を知らないことを理解しました。このためには、functionsをPythonで使用する方法を学ぶ必要があります。 関数とは何ですか?

関数は、関連する単一のアクションを実行するために使用される、組織化された再利用可能なコードのブロックです。関数は、アプリケーションのモジュール性を高め、高度なコード再利用性を提供します。 (インターネットからの定義)

だから、私はあなたが機能についてもっと知ることを勧めます。なぜなら、それは非常に便利だからです。 の機能を学習した後、あなたがそれを追加する必要があります

をすべての

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 

elif choice == 'n': 
     function() 

機能を追加() - >主な機能を呼び出します。

+1

ありがとう!私はそれを私の学習の優先事項にしていますか? –

関連する問題