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

Python用户输入后if条件对字符串用or判断不生效问题求助

问题解答

a、当前写法的错误原因

你写的判断条件name == "Mike" or "mike"不符合Python的逻辑运算规则:

  • Python中or会分别计算左右两侧表达式的布尔值,只要有一侧为真,整个条件就为真
  • 右侧的"mike"是独立的非空字符串,非空字符串的布尔值固定为True
  • 因此不管用户输入的内容是什么,整个判断条件永远成立,所以程序始终输出问候语句
    正确的完整判断写法应该是name == "Mike" or name == "mike",你漏写了第二个相等判断的左半部分。

b、多合法姓名的高效实现方案

最简单的方式是把所有合法姓名存入集合,用in做成员判断,优势是后续新增姓名只要修改集合内容即可,不需要改判断逻辑,且集合的成员查询效率远高于列表,适合后续扩展:

name = input('Who are you?')
# 后续新增合法姓名直接加到这个集合里即可
ALLOWED_NAMES = {"Mike", "mike", "Susie", "susie"}
if name in ALLOWED_NAMES:
    print('Hi',name,', nice to see you!')
else:
    print("I don't know you.")

内容的提问来源于stack exchange,提问作者Mike D'Amico

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 02:27:03