在python 3中更改更多字符
我的问题如下: 我向某人询问字符串(例如:这是文本): 我想改变每一个元音像这样:e->eve,a->ava,I->ivi,u->uvu,o->ovo为周期 最后,我将打印新文本 我的解决办法是:在python 3中更改更多字符,python,python-3.x,replace,Python,Python 3.x,Replace,我的问题如下: 我向某人询问字符串(例如:这是文本): 我想改变每一个元音像这样:e->eve,a->ava,I->ivi,u->uvu,o->ovo为周期 最后,我将打印新文本 我的解决办法是: b = a.replace('o', 'ovo').replace('u', 'uvu') print(b) transforms = {'a':'ava', 'e':'eve', 'i':'ivi', 'u':'u
b = a.replace('o', 'ovo').replace('u', 'uvu')
print(b)
transforms = {'a':'ava',
'e':'eve',
'i':'ivi',
'u':'uvu',
'o':'ovo',
'ö':'övö',
'ü':'üvü',
'ó':'óvó',
'ő':'ővő',
'ú':'úvú',
'é':'évé',
'á':'ává',
'ű':'űvű',
'í':'ívi'}
test_string = input('Írj be egy tetszőleges szöveget, amit ivigyelek: ')
new_string = ''
for char in test_string:
if char in transforms:
new_string += transforms[char]
else:
new_string += char
print(new_string)
但这并不使用for循环
你能帮帮我吗?谢谢 您可以在Python中使用“字符串”中c的
循环字符串:
使用此功能,您可以通过以下方式解决您的问题:
newString=""
for c in a:
if c in ["a", "e", "i", "o" "u", "y"]:
newString+=c+"v"+c
else:
newString+=c
我想你说的循环是指循环 对于此转换,可以将查找字典与For循环结合使用。两个玩具示例:
transforms = {'a':'ava',
'e':'eve',
'i':'ivi',
'u':'uvu',
'o':'ovo'}
test_string = 'This is some text'
首先,您可以使用替换的单词创建一个新字符串:
new_string = ''
for char in test_string:
if char in transforms:
new_string += transforms[char]
else:
new_string += char
产生“Thivis ivis sovomeve tevext”
或者,您可以将原始元素转换为列表,并使用字典替换元素(最后加入列表):
这也会产生“Thivis ivis sovomeve tevext”
for c in ('a','e','i','o','u'):
a = a.replace(c, c+'v'+c)
print(a)
如果需要原始字符串,您可以创建以前的字符串副本。谢谢大家!整个解决方案是:
b = a.replace('o', 'ovo').replace('u', 'uvu')
print(b)
transforms = {'a':'ava',
'e':'eve',
'i':'ivi',
'u':'uvu',
'o':'ovo',
'ö':'övö',
'ü':'üvü',
'ó':'óvó',
'ő':'ővő',
'ú':'úvú',
'é':'évé',
'á':'ává',
'ű':'űvű',
'í':'ívi'}
test_string = input('Írj be egy tetszőleges szöveget, amit ivigyelek: ')
new_string = ''
for char in test_string:
if char in transforms:
new_string += transforms[char]
else:
new_string += char
print(new_string)