2016-04-21 69 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)) 

在回答你的问题时,我觉得我已经完成了作业吗?

相关问题