首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python 3中,我如何向后声明代码并将字母替换为特定字符?

在python 3中,我如何向后声明代码并将字母替换为特定字符?
EN

Stack Overflow用户
提问于 2021-04-23 18:50:54
回答 5查看 234关注 0票数 1

(我为第一次也不清楚而道歉,美好的社区!我应该使用elif或if语句。)下面是我到目前为止的情况。

代码语言:javascript
复制
userInput = input("Write whatever you want: ")
newWord = " "

def strReplaced():
    for letter in userInput[::-1]:
        if letter == "a":
            newWord = "@"
        elif letter == "e":
            newWord = "#"
        elif letter == "i":
            newWord = "%$"
        elif letter == "0":
            newWord = "*"
        else:
            pass
    return strReplaced

print(newWord)
print(userInput)    

必须相应地符合这些说明,也请解释代码

  • 获取inputWord
  • 代码的用户输入,以说明输入
  • 的大小写,将newWord分配给空字符串
  • ,向后遍历inputWord中的字母。在iterate
  • Replace中将每个字母添加到newWord中:"a“与"@","e”与"#","i“与"%","o”与"*",(提示:使用if,elif,要不然)
  • 打印newWord

它必须有一个if和elif语句,就像我提交的代码一样,不需要一个函数。我不认为应该有一个范围。

EN

回答 5

Stack Overflow用户

发布于 2021-04-23 19:02:10

在使用newword = something的任何地方,都可以使用+=而不是=直接追加字符串。根据您的观点,您的其余代码似乎是正确的(顺便说一句,这是作业吗?)但是,您确实忘记了实际执行您的函数:您已经定义了它,但是您没有通过执行strReplaced()来使用它。

您还可以完全删除else: passnewWord可能应该初始化为"" (空字符串),而不是" " (带空格的字符串)。如果您想拥有一个所谓的纯函数,请定义您的函数以便与def strReplaced(argument_name_goes_here)有一个参数。

编辑:忘了一些东西,你现在正在替换字母(假设你使用的是实现上面的点),但是你没有添加不需要替换的字母。所以不要删除else,而是用一个在新词后面添加字母的语句替换pass (我认为您可以自己解决这个问题)。

票数 2
EN

Stack Overflow用户

发布于 2021-04-23 19:05:51

不要乱搞循环。Python 3有内置的翻译功能.

代码语言:javascript
复制
userInput = input("Write whatever you want: ")[::-1].lower()
userInput.translate(str.maketrans({'a': '@', 'e': '#', 'i': '%$', 'o': '*'}))

Write whatever you want:  This is A sentence to REPLACE
'#c@lp#r *t #cn#tn#s @ s%$ s%$ht'
票数 2
EN

Stack Overflow用户

发布于 2021-04-23 19:35:13

也许这个解决方案更容易

代码语言:javascript
复制
def test(a):
    dict_word={
        'a':'@'
        ,'e':'#'
        ,'i':'%'
        ,'o':'*'
    }
    b=a[::-1]
    print(b)
    new_word = ''
    c = []
    for i in b:
        if i in dict_word:
            res = dict_word[i]
        else:
            res=i
        c.append(res)
    new_word=''.join(c)
    return new_word


a='sdocisae'
b=test(a)
print(b)
代码语言:javascript
复制
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67235425

复制
相关文章

相似问题

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