擅长:python、mysql、java
<p><strong>理想情况下,您可以使用<a href="http://docs.python.org/2/library/stdtypes.html?highlight=index#str.find" rel="noreferrer">str.find</a>或<a href="http://docs.python.org/2/library/stdtypes.html?highlight=index#str.index" rel="noreferrer">str.index</a></strong>就像疯了的刺猬说的那样。但你说你不能。。。</p>
<p>问题是代码只搜索搜索字符串的第一个字符(第一个字符)在索引2中。</p>
<p>你基本上是说,如果<code>char[0]</code>在<code>s</code>中,则递增<code>index</code>,直到<code>ch == char[0]</code>在我测试时返回3,但仍然是错误的。这是一种方法。</p>
<pre><code>def find_str(s, char):
index = 0
if char in s:
c = char[0]
for ch in s:
if ch == c:
if s[index:index+len(char)] == char:
return index
index += 1
return -1
print(find_str("Happy birthday", "py"))
print(find_str("Happy birthday", "rth"))
print(find_str("Happy birthday", "rh"))
</code></pre>
<p>它产生了以下输出:</p>
<pre><code>3
8
-1
</code></pre>