搜索功能没有真正搜索
我有以下代码是假设搜索字符'e'在一个字符串中,返回False
如果'e'被发现在字符串内并返回True
是'e'未找到:搜索功能没有真正搜索
def has_no_e(word):
for letter in word:
if letter == 'e':
return False
return True
按我的理解,for
循环将通过一个访问中word
一个字符,并检查他们对我设置的条件,这是if letter == 'e'
每次我运行程序,看来for循环只是检查第一个字母 因为某些原因!
所以调用函数has_no_e('dde','e')
将导致返回True
。但是,如果我周围has_no_e('edd','e')
切换它,它会返回False
我在x86的Windows 7旗舰机中运行的Python 2.7.3 ...谢谢
return True
是在身体内部的循环,使它将在检查第一个字母是否为'e'
后立即执行(除非第一个字母是e
那么它将返回False
)。
您的return
显示错误。 unindent它(与for
相同的级别),它会工作
谢谢。缩进返回是答案!令人惊讶的是,在学习的时候,一个人可以如此愚蠢:P – tamiromara 2012-04-23 11:08:16
其他人指出你的错误,但整个功能过于复杂。你可以这样做:
def has_no_e(word):
return 'e' not in word
niiiice。我需要一些时间来开发这种编程思路。一般来说,我仍然对python和编程非常陌生。再次感谢。 – tamiromara 2012-04-23 11:22:30
谢谢队友!这是有帮助的 – tamiromara 2012-04-23 11:10:33
没关系,但看到@DanielRoseman的答案最好不要重新发明*:D – jamylak 2012-04-23 11:11:26