擅长:python、mysql、java
<p>您的搜索方法是有效的(遍历字符串中的字符)。然而,你的问题是在最后当你评估你是否找到了这个角色。你在比较<code>flag</code>和<code>x</code>,但是当你做比较时,<code>x</code>是<a href="https://stackoverflow.com/a/292502/1368616">out of scope</a>。因为<code>x</code>是在for循环语句中声明的,所以它只在for循环中定义。因此,要修复代码,请为<code>flag</code>设置一个可以检查的初始值,然后更改结尾处的检查:</p>
<pre><code>flag = None
for x in range(len(str)):
if str[x] == find:
flag = x
break # Using break here means you'll find the FIRST occurrence of find
if flag:
print "found in index no",flag
else:
print "not found in there"
</code></pre>