我的问题如下:
我问某人的一个字符串(例如:这是文本):
a = input("Enter a text: "))
我想要这样的每个元音更改:e-> eve,a-> ava,i-> ivi,u-> uvu,o-> ovo with for cycle 最后,我将打印新文本
我的解决方法是:
b = a.replace('o', 'ovo').replace('u', 'uvu')
print(b)
但这不使用for循环
可以帮我吗?谢谢!
答案 0 :(得分:1)
您可以使用for c in "string":
使用此方法,您可以通过以下方式解决您的问题
newString=""
for c in a:
if c in ["a", "e", "i", "o" "u", "y"]:
newString+=c+"v"+c
else:
newString+=c
答案 1 :(得分:0)
我认为for循环是指for循环?
对于此转换,您可以将查找字典与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”。
或者您可以将原始文档转换为列表,并使用字典替换元素(并最终加入列表):
test_string = list(test_string)
for i, ch in enumerate(test_string):
if ch in transforms:
test_string[i] = transforms[ch]
test_string = ''.join(test_string)
还会产生“ Thivis ivis sovomeve tevext”
答案 2 :(得分:0)
for c in ('a','e','i','o','u'):
a = a.replace(c, c+'v'+c)
print(a)
如果需要原始字符串,可以创建a的先前副本。
答案 3 :(得分:0)
谢谢大家!整个解决方案是:
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)