Python 3.x 如何用另一个值替换元音?(a到e,e到I,等等)
我需要能够让用户输入一个字符串,我的代码应该查看字符串并更改元音。所以所有的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
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)