python - 如何标记第一次出现的元音,将前面的辅音移动到结尾
问题描述
我被指示在 Python 中创建一个 PygLatin 翻译器——我是个初学者。我必须翻译任何随机输入的句子。到目前为止,我需要能够标记一个单词中第一次出现的元音并转移该单词末尾之前的所有辅音。
def encrypt():
modify_split = list(sentence.split())
letter = list(word)
for letter in word:
if letter == "A":
print(word[1:] + "*" + word[0:1] + "AY")
if letter == "E":
print(word[1:] + "*" + word[0:1] + "AY")
if letter == "I":
print(word[1:] + "*" + word[0:1] + "AY")
if letter == "O":
print(word[1:] + "*" + word[0:1] + "AY")
if letter == "U":
print(word[1:] + "*" + word[0:1] + "AY")
它目前正在打印句子中每个字母的每个单词,并且根本不会在元音处分裂。有没有一种简单的方法让它遍历一个列表,找到元音,然后让我在那里拆分单词?提前致谢!
编辑:示例输入:
"Computer science is great"
预期输出:
"omputer*cay ience*scay is*~way eat*gray"
解决方案
设置您vowels
的字符串,然后enumerate
在遇到其中的字符时使用,vowels
您可以将其存储index
到slice
原始字符串 中
s = 'this'
vowels = 'aeiou'
for i, v in enumerate(s):
if v.lower() in vowels:
x = i
break
print(s[x:] + s[:x]) # => isth
推荐阅读
- ssl - 打开 SSL 证书
- python - 如何在我的正则表达式结果中排除我的开始搜索词和结束搜索词,同时尝试在两个词之间找到句子中的词
- git - Git 同步特定分支文件夹 Rundeck
- ruby - Capybara 302 重定向得到空白页面
- c# - 具有作用域角色的 Microsoft.AspNetCore.Identity
- mysql - 如果条件为真,MariaDB 执行 UPDATE 然后 DELETE
- javascript - 如何从链接中获取 JSON 数据并将其解析为 HTML
- flutter - BlocBuilder 没有获取新状态中的值。查看更新颤振
- docker - Docker-compose 使用错误的 ASP.NET Core 版本(3.0 而不是 3.1)
- java - jmeter - 如何存储来自第一个请求的数据并使用 java 代码将其传递给第二个请求