Python可复用表情转换函数故障求助:函数无法正常运行
表情转换函数的问题排查与修复
你的代码主要有两个关键问题:
- 字典定义错误:你目前用的是集合语法(大括号内放置完整字符串),但实际需要的是键值对结构的字典。正确的写法应该把触发文本(比如
:))作为键,对应的emoji(比如😄)作为值,而非把整个" :) = 😄"当作单个元素。而且集合没有get()方法,这是函数报错的直接原因。 - 字符串分割的细节问题:用
split(" ")处理输入时,若存在连续空格会生成空字符串元素,换成不带参数的split()会自动处理多个空格、首尾空格,逻辑更合理。
修正后的代码:
def emoji_convertor(message): words = message.split() # 自动处理任意空白字符 emojis = { ":)": "😄", ":(": "😔" } output = "" for word in words: output += emojis.get(word, word) + " " return output.strip() # 移除末尾多余空格 message = input("> ") result = emoji_convertor(message) print(result)
额外优化:最后用strip()去掉拼接后末尾的多余空格,输出格式更整洁。
内容的提问来源于stack exchange,提问作者Maryam Sindhu
相关产品推荐
相关产品推荐

