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

Python列表匹配问题求助:输入合法姓名未触发正确输出

问题分析与解决方案

你的代码核心问题是判断逻辑错误:你用整个列表names和输入的单个字符串name做相等比较(names == name),一个列表和单个字符串永远不可能相等,所以无论输入什么内容,都会执行else分支。

修正后的代码

names = ["Terry", "Ben", "Mike"]
name = input("oya enter name ")
if name in names:
     print("Welcome " + name)
else:
     print("Who are you???!!!")

额外优化(可选)

如果想让判断不区分大小写(比如用户输入terry或TERRY也能匹配成功),可以对输入的姓名做标准化处理:

names = ["Terry", "Ben", "Mike"]
# 先去除输入首尾空格,再统一为首字母大写格式
name = input("oya enter name ").strip().capitalize()
if name in names:
     print("Welcome " + name)
else:
     print("Who are you???!!!")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 10:28:16