Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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 3中更改更多字符_Python_Python 3.x_Replace - Fatal编程技术网

在python 3中更改更多字符

在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

我的问题如下:

我向某人询问字符串(例如:这是文本):

我想改变每一个元音像这样: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':'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)