单词查找器的代码,显示单词的位置

时间:2016-07-14 08:27:22

标签: python-2.7 python-3.x

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]:的工作原理。如果有人能向我解释这一点,将非常感激

3 个答案:

答案 0 :(得分:0)

循环句子中的所有单词位置,并比较输入单词是否与此位置中的单词相同。例如,如果pos为2,则查看句子中的第三个单词,看它是否等于输入单词。如果是你打印这个给定的陈述。

单词对象是一个在分隔空格后看起来像这样的列表(''):

'eFile' => [
  'required', 'min:2', 'max:200', 
  'regex:/^(?!\.)(?!com[0-9]$)(?!con$)(?!lpt[0-9]$)(?!nul$)(?!prn$)[^|*?\\:<>\/$"]*‌​[^.|*?‌​\\:<>\/$"]+$/', 
  'unique:nsa_fileuploads,filename,' . $id . ',fileid' 
]

答案 1 :(得分:0)

for pos in range(len(word)):

你正在迭代这个位置,首先是pos = 0,然后是pos = 1等。

word[pos]

是pos位置的单词(因为你将句子分成单词列表)。

所以当你检查:

choice==word[pos]

你检查选择是否在位置上。

希望有帮助

答案 2 :(得分:0)

最初pos设置为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]:

上述语句只是两个字符串之间的比较语句。在我们的示例中,choice = COUNTRY,word [0] = ASK,因此它将跳过并移至下一次迭代,直到选择和单词[pos]匹配。

此处,pos值是您搜索的字符串的位置。

希望它能消除你的怀疑。