2017-09-10 24 views
-3

教師などの読者が年齢を読み上げている学生をチェックできるアプリケーションを作成する必要があります。私は現在混乱している/固執しているキーワードの数を入力するようにユーザーに求めている部分があります。誰も私の下でコードを助けることができますか?

マイコード:

counter = 0 

amount_keywords = [] 

input_keywords = int(input("Enter Number Of Keywords:")) 

while(counter != input_keywords): 

input_keywords = str(input("Enter Keyword:")) 

amount_keywords.append(input_keywords) 

counter = counter + 1 

起こっていただきましたが、私は整数に0を入れた場合は、「キーワードの数を入力してください。」である、それは正常に動作し、中にキーワードを入れて尋ねる次のセクションを通過し、完璧であると作業右。しかし、たとえば数字3を入力すると、「Enter Keyword:」という文字列が3回出現するはずです。なぜなら、それは整数に入れたものなので、代わりに出て行くからです。とにかくこれを修正するには?

+0

コードのインデントを修正できますか? – MSeifert

答えて

2

変数input_keywordsを使用して入力するキーワードの数を保持しましたが、whileループ内で各キーワードを保持するために再定義しています。したがって、ループの前に3を入力すると、ループ中にキーワード 'a'を入力すると、今度はinput_keywords = 'a'なので、whileループがこれをカウンタと比較すると絶対に等しくなることはありません。物事をより明確に命名し、さまざまな目的のために変数を再利用しないようにしてください。例えば:このあなたのようなデバッグものに

counter = 0 
amount_keywords = [] 
n_keywords = int(input("Enter Number Of Keywords:")) 
while(counter != n_keywords): 
    keyword = str(input("Enter Keyword:")) 
    amount_keywords.append(keyword) 
    counter = counter + 1 

は、カウンターとinput_keywordsの値を参照し、ループ終了条件が満たされていない理由を確認するために、whileループでprint文を追加します。または、コードをステップバイステップで実行して変数値を確認できるデバッガを使用します。

関連する問題