首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的翻译没有输出我想要的

我的翻译没有输出我想要的
EN

Stack Overflow用户
提问于 2021-12-18 20:37:22
回答 1查看 41关注 0票数 -4

当输入为“嘿嘿:”时,我需要我的代码输出“嘿嘿”。相反,它输出“h”

代码语言:javascript
运行
复制
def emojiChanger(word):
    emoji = " "
    for letter in word:
        if letter in ":)":
            emoji = emoji + ""
        elif letter in ":(":
            emoji = emoji + "☹️"
        else:
            emoji = emoji + letter
        return emoji

print(emojiChanger(input('How are you doing? ')))

产出:

代码语言:javascript
运行
复制
How are you doing? :)

替代输出:#我需要修复的

代码语言:javascript
运行
复制
How are you doing? hey :)
 h

我需要它输出:嘿

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-18 20:51:01

它只能进入ifelifelse分支之一(并且永远不能进入elif for :,因为if已经捕捉到了这一点)。在所有这些情况下,您都需要向输出字符串添加内容,可能是在条件之外。

但是,您正在一次检查一个字母,所以:后面跟着任何东西都会添加,而行中其他地方的)也会这样做;( anywhere将触发☹️

一个更好的方法也许是

代码语言:javascript
运行
复制
def emojiChanger(word):
    return word.replace(':)', '').replace(':(', '☹️')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70406940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档