You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何我的Python for/if代码返回错误布尔值?

代码返回False的原因解释

你的问题出在循环的逻辑上:代码只检查了单词的第一个字符就直接返回结果,完全没机会遍历后续的字符。

具体来看调用letter_check("strawberry", "a")的执行过程:

  • 循环第一次迭代,取到的字符是单词的第一个字母's'
  • 因为's' != 'a',代码直接进入else分支,返回False,循环到此终止
  • 后面的字符(包括你要找的'a')根本没被检查到

正确的逻辑应该是:只有当循环遍历完所有字符都没找到目标字母时,才返回False。把return False移到循环外面,脱离if-else的关联:

def letter_check(word, letter):
  for let in word:
    if let == letter:
      return True
  return False

print(letter_check("strawberry", "a"))

这样循环会逐个检查每个字符,一旦找到匹配的就返回True;如果遍历完所有字符都没匹配,才最终返回False。

内容的提问来源于stack exchange,提问作者spamb0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:07:02