python - 我在编写函数时遇到问题。(vowels_repeated) 返回一个只有元音重复的字符串
问题描述
该函数是 vowels_repeated ,它重复字符串中的所有元音。
def vowels_repeated(text: str, repeat: int) -> str:
new = ''
vowels = 'aeiou'
for ch in text:
if ch in vowels:
new = text.replace(ch, ch*repeat)
return new
vowels_repeated('My name is Jack', 2)
应该返回My naamee iis Jaack
这段代码不起作用,它给了我一个空字符串,我不明白为什么。
解决方案
虽然不是最佳选择,但您可以将通过字符串的 for 循环替换为通过元音列表的 for 循环。str.replace
已经遍历字符串:
def vowels_repeated(text: str, repeat: int) -> str:
vowels = 'aeiou'
for v in vowels:
text = text.replace(v, v*repeat)
return text
或者,您不能使用替换并手动执行操作:
def vowels_repeated(text: str, repeat: int) -> str:
out = ""
vowels = 'aeiou'
for c in text:
if c in vowels:
out += c * repeat
else:
out += c
return out
推荐阅读
- php - 如何通过html内容获取href和文本内容
- javascript - Node JS 向 Javascript 控制台显示不同的结果
- excel - 对象“_workbook”的“另存为”失败
- azure - Azure Kusto 时间序列
- javascript - 重构 javascript 以创建模式 shell 并注入值,而不是在 DOM 中创建新元素
- row - 阿帕奇 FOP | 多页表行高问题
- android - 为什么直到在选项卡之间滚动才会显示 recyclerview 项目?
- python - 如何将 json 作为 json 而不是 PUT 方法推送到弹性搜索
- python - 如何在彼此之上绘制 3D 图并在 python 中突出显示它们的交集
- sql-server - 在每周之后添加一个总计行