如何实现输入精确匹配指定单词?解决Python代码子串匹配问题
问题:仅精确输入"key"时输出"opened"
原始代码:
x = input("door:") if "key" in x: print("opened") else: print("closed")
当前代码会在输入包含"key"子串(如"donkey"、"monkey"、"keyboard")时输出"opened",但需求是仅当输入精确为单词"key"时才输出"opened",其他情况输出"closed"。
解决方案
1. 兼容前后空格的精确匹配
如果希望允许用户输入前后带空格(比如" key ")也能触发匹配,用strip()去除首尾空白后再判断:
x = input("door:") if x.strip() == "key": print("opened") else: print("closed")
2. 严格完全匹配
如果要求输入必须完全等于"key"(不能有任何前后空格),直接用相等判断:
x = input("door:") if x == "key": print("opened") else: print("closed")
3. 忽略大小写的精确匹配
如果需要兼容大小写输入(比如"Key"、"KEY"),统一转成小写后再匹配:
x = input("door:") if x.strip().lower() == "key": print("opened") else: print("closed")
内容的提问来源于stack exchange,提问作者Weston Farris
相关产品推荐
相关产品推荐

