Python 3.x 如何用另一个值替换元音?(a到e,e到I,等等)

Python 3.x 如何用另一个值替换元音?(a到e,e到I,等等),python-3.x,Python 3.x,我需要能够让用户输入一个字符串,我的代码应该查看字符串并更改元音。所以所有的a都变成了e,所有的e都变成了i,等等。这就是我所拥有的,但我不知道如何让它正常工作 def askForString(): userString=str(input("Enter a string: ")) userString=userString.lower() return userString def changeVowels(theString,vowels): newStr

我需要能够让用户输入一个字符串,我的代码应该查看字符串并更改元音。所以所有的a都变成了e,所有的e都变成了i,等等。这就是我所拥有的,但我不知道如何让它正常工作

def askForString():
    userString=str(input("Enter a string: "))
    userString=userString.lower()
    return userString

def changeVowels(theString,vowels):
    newString=[]
    #newVowels=['e','i','o','u','a']
    for i in range(len(theString)):
        if theString[i] in vowels:
            i+=newString
        newString.append(i)
    return newString

def main():
    theString=askForString()
    vowels=["a","e","i","o","u"]
    NewString=changeVowels(theString,vowels)
    print(NewString)

main()

我想我需要把元音转换成新的元音,但我不知道怎么做。这就是为什么我把它作为评论

i+=newString
是错误的。
def changeVowels(theString, vowels):
    newString=[]
    repls = dict(zip(vowels, vowels[1:]+[vowels[0]]))
    for theLetter in theString:
        if theLetter in vowels:
            theLetter = repls[theLetter]
        newString.append(theLetter)
    return newString
i
是一个整数,
newString
是一个列表。不能向列表中添加整数

从问题中我推断,您需要按如下方式替换字符串中的元音:

a -> e
e -> i
i -> o
o -> u
u -> a
您有多种方法来实现这一目标:

方法1: 方法2:使用字典直接将元音映射到下一个元音
i+=newString
是错误的。
i
是一个整数,
newString
是一个列表。不能向列表中添加整数

从问题中我推断,您需要按如下方式替换字符串中的元音:

a -> e
e -> i
i -> o
o -> u
u -> a
您有多种方法来实现这一目标:

方法1: 方法2:使用字典直接将元音映射到下一个元音
vowels = {
    "a" : "e",
    "e" : "i",
    "i" : "o",
    "o" : "u",
    "u" : "a"
}

inputString = input()
outputString = ""

for character in inputString:
    if character in vowels: # checks the a key named "character" exists in the dictionary "vowels
        outputString += vowels[character]
    else:
        outputString += character

print(outputString)