当输入为“嘿嘿:”时,我需要我的代码输出“嘿嘿”。相反,它输出“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
复制相似问题