当输入为“嘿嘿:”时,我需要我的代码输出“嘿嘿”。相反,它输出“h”
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? ')))
产出:
How are you doing? :)
替代输出:#我需要修复的
How are you doing? hey :)
h
我需要它输出:嘿
发布于 2021-12-18 20:51:01
它只能进入if
、elif
或else
分支之一(并且永远不能进入elif
for :
,因为if
已经捕捉到了这一点)。在所有这些情况下,您都需要向输出字符串添加内容,可能是在条件之外。
但是,您正在一次检查一个字母,所以:
后面跟着任何东西都会添加,而行中其他地方的)
也会这样做;(
anywhere将触发☹️
一个更好的方法也许是
def emojiChanger(word):
return word.replace(':)', '').replace(':(', '☹️')
https://stackoverflow.com/questions/70406940
复制相似问题