python 2.7 string_name.find() 函数在使用变量时总是返回 -1
python 2.7 string_name.find() function always returning -1 when using variable
Python 2.7 Windows 10
因此,我开始尝试使用一个函数,在我的所有示例中,该函数在请求的单词的字符串中找到第一个迭代。
示例:
message = "Hello, World."
print(message.find('World'))
它会 return:
7
这对我有用。但是我试图给出一个字符串,然后询问用户是否想在该字符串中找到一个词。如果答案是肯定的,程序将询问哪个单词和用户的输入被分配给变量 dokokotoba
然后我试图找到单词 dokokotoba
.
除了每次找词都是returns -1,表示失败外,程序各方面运行良好。我不明白为什么。是因为我不能在那里使用变量吗?如果是这样,我不明白为什么不。
您正在寻找 字符串 'dokokotoba'
,而不是变量的值。 message
中不存在该字符串,不。
传入变量,而不是字符串文字:
message.find(dokokotoba)
请注意此处缺少引号。
演示:
>>> message = 'foo bar baz'
>>> message.find('bar')
4
>>> dokokotoba = 'bar'
>>> message.find(dokokotoba)
4
>>> message.find('dokokotoba')
-1
您有 .find('dokokotoba')
而不是 .find(dokokotoba)
。
正确的做法是
message.find(dokokotoba)
而不是
message.find('dokokotoba')
在第二种情况下,您只是在邮件中搜索字符串 "dokokotoba"
。
Python 2.7 Windows 10
因此,我开始尝试使用一个函数,在我的所有示例中,该函数在请求的单词的字符串中找到第一个迭代。
示例:
message = "Hello, World."
print(message.find('World'))
它会 return:
7
这对我有用。但是我试图给出一个字符串,然后询问用户是否想在该字符串中找到一个词。如果答案是肯定的,程序将询问哪个单词和用户的输入被分配给变量 dokokotoba
然后我试图找到单词 dokokotoba
.
除了每次找词都是returns -1,表示失败外,程序各方面运行良好。我不明白为什么。是因为我不能在那里使用变量吗?如果是这样,我不明白为什么不。
您正在寻找 字符串 'dokokotoba'
,而不是变量的值。 message
中不存在该字符串,不。
传入变量,而不是字符串文字:
message.find(dokokotoba)
请注意此处缺少引号。
演示:
>>> message = 'foo bar baz'
>>> message.find('bar')
4
>>> dokokotoba = 'bar'
>>> message.find(dokokotoba)
4
>>> message.find('dokokotoba')
-1
您有 .find('dokokotoba')
而不是 .find(dokokotoba)
。
正确的做法是
message.find(dokokotoba)
而不是
message.find('dokokotoba')
在第二种情况下,您只是在邮件中搜索字符串 "dokokotoba"
。