如何在另一个变量中找到用户输入的单词?

时间:2016-04-30 15:30:17

标签: python enumerate

这是我的代码:

a = ('the', 'cat', 'sat', 'on', 'a', 'mat')
for i,j in enumerate(a):
    data = (i, j)
    print (data) 
word = input('Type a word out of this sentence - \'The cat sat on a mat\' : ')
word = word.lower()
print(word.find(data))

这是我的代码,基本上,当用户输入句子中的单词时,我想从data找到索引位置和单词,然后打印它。 请你帮我简单地做这件事,因为我只是一个初学者。谢谢:)(对不起,如果我没有解释得很好)

4 个答案:

答案 0 :(得分:2)

只需使用a.index(word)代替word.find(data)。您只需在word中找到a,并且您不需要for循环,因为它所做的就是不断重新分配data

您的最终结果将如下所示:

a = ('the', 'cat', 'sat', 'on', 'a', 'mat')
word = input('Type a word out of this sentence - \'The cat sat on a mat\' : ').lower()
print(a.index(word))

答案 1 :(得分:2)

由于您希望a的索引发生word,因此您需要将word.find(data)更改为a.index(word))

如果单词不在ValueError中,这将会引发a,您可以抓住它:

try:
    print(a.index(word))
except ValueError:
    print('word not found')

答案 2 :(得分:2)

你正在尝试错误的方向。

如果您有一个字符串并调用find,则在该字符串中搜索另一个字符串:

>>> 'Hello World'.find('World')
6

你想要的是另一种方式,在元组中找到一个字符串。为此用途 元组的index方法:

>>> ('a', 'b').index('a')
0

如果元素不在元组内部,则会引发ValueError。你可以这样做:

words = ('the', 'cat', 'sat', 'on', 'a', 'mat')
word = input('Type a word')
try:
    print(words.index(word.lower()))
except ValueError:
    print('Word not in words')

答案 3 :(得分:1)

首先,您不需要循环,因为它所做的只是将元组的最后一个元素分配给数据。

所以,你需要做这样的事情:

a = ('the', 'cat', 'sat', 'on', 'a', 'mat') # You can call it data
word = input('Type a word out of this sentence - \'The cat sat on a mat\' : ')
word = word.lower()
try:
    print(a.index(data))
except ValueError:
    print('word not found')