2016-07-14 98 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 ') 

我有這段代碼,它向用戶輸出他們試圖找到的單詞的位置。我有代碼工作,但對於我的評價我真的不知道如何選擇== word [pos]:如何工作。如果有人可以向我解釋這一點,將不勝感激單詞查找器的代碼,它顯示單詞的位置

+0

似乎是一種迭代的形式?不熟悉python,但似乎在用'''分割字符串後,循環訪問'word []'數組,然後嘗試將每個單詞匹配到用戶輸入的字符串。這可能有所幫助:http://www.pythonlearn.com/html-008/cfbook006.html –

回答

0

最初POS設置爲0 說出搜索詞的國家。 您存儲選擇變量搜索詞的發言

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

字將是從句子拿着單詞對象的數組。

word = sentence.split('') 

您在for循環從0在聲明中

for pos in range(len(word)): 

if choice==word[pos]: 

上述說法做了這個詞的長度是兩個字符串之間只是一個比較報表。在我們的例子中,choice = COUNTRY,word [0] = ASK,所以它會跳過並移動到下一個迭代,直到選擇和單詞[pos]匹配。

這裏,pos值是您搜索的字符串的位置。

希望它清除你的疑惑。

+0

感謝您的幫助! – joe

0

您可以遍歷句子中的所有單詞位置,並比較輸入單詞是否與此位置中的單詞相同。例如,如果pos爲2,則查看句子中的第三個單詞並查看它是否與輸入單詞相同。如果是你打印這個給定的陳述。

Word對象是看起來像這樣分割後的空間(」「)的列表:

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

你迭代的位置,第一POS = 0,則將pos = 1 ECT 。

word[pos] 

是pos位置中的詞(因爲您將句子拆分爲單詞列表)。

所以當你檢查:

choice==word[pos] 

你檢查,如果選擇在位置pos。

希望這就是幫助

+1

謝謝你真的沒有 – joe