You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Python字符串包含判断异常:预期True却返回False问题排查

问题分析与解决方案

首先咱们先看你给出的菜单字符串:

menu = "salad, pasta, sandwich, pizza, drinks, dessert, soda, beer"

如果直接运行 'beer' in menu,理论上肯定会返回True,因为'beer'确实是这个字符串的一部分。那你实际得到False,大概率是忽略了这几个细节:

  • 大小写不匹配:Python的字符串匹配是大小写敏感的!如果你写的是 'Beer' in menu(首字母大写),那结果必然是False,因为菜单里全是小写的'beer'。
  • 拼写错误:检查一下你实际代码里的检查字符串是不是写错了——比如写成了'beers'、'bere'或者其他和'beer'相似的词,或者菜单里的'beer'其实有拼写错误(比如你复制的代码里是对的,但实际写的时候手抖写错了)。
  • 变量被意外修改:看看你检查'beer'的代码之前,有没有其他地方修改了menu变量的值?比如后面不小心重新给menu赋值成了别的字符串,那自然找不到'beer'了。
  • 隐藏特殊字符(概率较低):如果菜单里的'beer'前后有你没注意到的制表符、换行符这类特殊字符,也可能影响结果?不过这种情况可以用repr()函数打印菜单内容来排查,它会显示所有隐藏字符:
    print("当前menu的原始内容:", repr(menu))
    print("beer是否存在:", 'beer' in menu)
    

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

火山引擎 最新活动