2016-07-14 10 views
0
sentence='ASK NOT WHAT YOUR COUNTRY CAN DO FOR YOU ASK WHAT YOU CAN DO FOR YOUR COUNTRY' 
word=[] 
pos=0 
choice='' 
while choice!='q': 
    print(sentence) 
    word=sentence.split(' ') 
    choice=input('what word do you want to find').upper() 
    for pos in range(len(word)): 
     if choice==word[pos]: 
      print('The word ' + str(choice)+ ' occurs in the ' + str(pos +1) + ' th position ') 

私はこの単語を見つけようとしている単語の位置をユーザーに出力します。私はコードが動作しているが、私の評価のためには、実際にはどうすればいいのかわかりません。choice == word [pos]:が動作します。もし誰かが私にこのことを説明できたら、それは大いに評価されるでしょう。単語の位置を表示する単語ファインダーのコード

+0

繰り返しの一種と思われますか? Pythonには慣れていませんが、文字列を ''''で分割した後に 'word []'配列をループして、各単語をユーザーの入力した文字列にマッチさせようとします。これは役に立ちます:http://www.pythonlearn.com/html-008/cfbook006.html –

答えて

0

に役立ちますが、検索ワードが国であると言います。あなたが文で選択変数に検索ワードを格納している

choice=input('what word do you want to find').upper() 

単語が文から単語を保持するオブジェクトの配列になります。

word = sentence.split('') 

あなたは

文で0からの単語の長さにforループをやっている
for pos in range(len(word)): 

if choice==word[pos]: 

上記の文は、2つの文字列の間のちょうど比較文です。この例では、choice = COUNTRY、word [0] = ASKであるため、選択肢と単語[pos]が一致するまでスキップして次の繰り返しに移動します。

ここで、pos値は検索した文字列の位置です。

あなたの疑いが解消されたことを願います。

+0

助けてくれてありがとう! – joe

0

文中のすべての単語の位置をループし、入力された単語がこの位置の単語と同じかどうかを比較します。例えばposが2の場合、文中の3番目の単語を見て、それが入力単語と等しいかどうかを確認します。もしあなたがこの特定のステートメントを印刷しているならば。

ワードオブジェクトはスペース(」「)に分割した後、このようになります。リストです。

['ASK', 'NOT', 'WHAT', ...] 
0
for pos in range(len(word)): 

は、あなたが位置を反復処理され、最初のpos = 0、そして= 1 ECT posに。

word[pos] 

は、posの位置にある単語です(文を単語のリストに分割しているため)。

ので、あなたがチェックしたとき:選択は、位置posにある場合

choice==word[pos] 

をあなたは確認してください。

ホープザッツ最初のposが0 に設定されている

+1

本当にありがとうございました – joe

関連する問題