2016-04-21 68 views
-1
sentence = ("ASK NOT WHAT YOUR COUNTRY CAN DO FOR YOU ASK WHAT YOU CAN DO  FOR YOUR COUNTRY") 


print (sentence) 

keyword = input("Input a word from the sentence") 

keyword_check = True 

words = sentence.split(' ') 

while keyword_check == True: 
for w in range(len(keyword)): 
    if keyword[w].isalpha(): 
     keyword = keyword.lower() 

if keyword not in sentence: 
    keyword = input("please enter a valid word") 

else: 

    for (i, subword) in enumerate(words): 
     if (subword == keyword): 
      print("your word is in position") 
      print(i+1) 
      keyword_check = False 

作爲標題說,當我試圖進入只是在句子中的一封信是停止程序,也如果我不輸入任何東西,它也停止程序的幫助!每當我嘗試輸入一個字母,在句子中它不起作用?

+0

你說「只是一封信」 - 你輸入的是單個字母,而不是整個單詞嗎?一旦你像這樣分割句子,它只會找到一個完全匹配。 – TigerhawkT3

+0

你的意思是'它停止程序'。 –

+0

在你的問題中,不清楚問題是什麼。發佈例外,讓人們可以幫助您快速。 –

回答

0

在Python2中input相當於eval(raw_input(prompt)),所以您的輸入將被評估。不是你想要的例子。使用raw_input以字符串形式獲取用戶輸入。

只需使用split()來分割您的句子。它使用白色空格作爲分隔符,對於句子中的多個空格更好。

爲了比較,知道在哪個位置使用lower()來忽略套管總是一件好事。

sentence = "ASK NOT WHAT YOUR COUNTRY CAN DO FOR YOU ASK WHAT YOU CAN DO  FOR YOUR COUNTRY" 
print(sentence) 
words=sentence.lower().split() 

while True: 
    keyword = raw_input("Input a word from the sentence: ").lower() 
    try: 
    index=words.index(keyword) 
    except ValueError: # is raised, when keyword is not found in words 
    continue 
    break 

print("Found on index: %d"%words.index(keyword)) 

在回答你的問題時,我覺得我已經完成了作業嗎?

相關問題