Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何实现更多功能?替换功能更具体_Python - Fatal编程技术网

Python 如何实现更多功能?替换功能更具体

Python 如何实现更多功能?替换功能更具体,python,Python,我有一个函数,它要求用户输入一个字符串,一旦它得到字符串,它就会询问用户想要更改哪个字母,然后询问他们要更改哪些字母。我需要它做的是要求用户输入一个字符串,而不是作为用户选择的可以更改的8个字母,我还选择这些字母可以更改为什么。输出是这样的。字符串你好,应该是什么字母。打印H3llO。我希望E变成3,o变成0,I变成1,C变成[ 这就是我目前所拥有的 def replace(): old,new = [],[] newString = "" string = inpu

我有一个函数,它要求用户输入一个字符串,一旦它得到字符串,它就会询问用户想要更改哪个字母,然后询问他们要更改哪些字母。我需要它做的是要求用户输入一个字符串,而不是作为用户选择的可以更改的8个字母,我还选择这些字母可以更改为什么。输出是这样的。字符串你好,应该是什么字母。打印H3llO。我希望E变成3,o变成0,I变成1,C变成[

这就是我目前所拥有的

def replace():

    old,new = [],[]
    newString = ""

    string = input('new_uppercase')
    char = input("Change: ")
    toThis = input("Change " + char + " to this: ")

    for x in range(0,len(string)):
        old.append(string[x])

    for y in range(0,len(old)):
        if old[y] != char:
            new.append(old[y])
        else:
            new.append(toThis)

    for z in range(0,len(new)):
        newString+=new[z]
        print(newString)

replace()

如果您有一组常量值来替换每个字符,那么这种方法非常有效。否则,您可以在从用户获取输入后在运行时创建替换映射

replacements = {
    'E': '3',
    'O': '0',
    'C': '['
}

def replace():
    old,new = [],[]
    newString = ""
    string = input('new_uppercase')
    char = input("Change: ")
    for ch in char:
        if replacements.get(ch):
            string = string.replace(ch, replacements.get(ch))
    print(string)

if __name__ == "__main__":
    replace()

new_大写HELLO Change:EO将EO更改为this:H3LL0