python - 从英语到 Pig Latin 的翻译

标签 python python-3.x

我正在参与“PigLatin 翻译”计划。 这是我现在正在写的部分。

    input_str = input("Input a word: ")

    consonant_check = 0
    while input_str[int(consonant_check)] != 'a' or 'e' or 'i' or 'u':

        output_str = input_str[:int(consonant_check)] + input_str[0,int(consonant_check)] + 'ay'
        consonant_check = int(consonant_check) + 1
    else:
        print(output_str)

这部分应该检查输入的单词是否以辅音开头。如果是这样,程序可以从单词的开头删除所有辅音并将它们附加到单词的末尾。然后将“ay”附加到单词的末尾。 通过在线收集信息,我对如何实现它有了一些线索,但我认为我的代码仍然存在问题。

最佳答案

我会按照您的意图处理它,从而生成以下代码。

简而言之,检查字符串的第一个字符。如果它不是元音字母(不在 ['a','e','i','o','u'] 中),则将该字符移到字符串的末尾。继续这样做,直到你击中一个元音(所以 'string' 变成 'trings' 然后 'ringst' 然后 'ingstr' 在打破循环之前)。一旦你最终击中元音,你就离开循环,并打印修改后的字符串 + 'ay'。如果第一个字符是元音字母,则退出循环并打印字符串 + 'ay'。

无需设置辅音检查 - 您始终检查第一个字符 (0)。并且不需要有两个变量 - 只需不断修改和替换原始字符串即可。

word_string = input("Input a word: ")

while word_string[0] not in ['a','e','i','o','u']:
    word_string = word_string[1:] + word_string[0:1]

else:
    print(word_string + 'ay')

关于python - 从英语到 Pig Latin 的翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35182501/

相关文章:

python - 在 Powershell 下运行 Python 脚本

python - Python 中的正则化逻辑回归(Andrew ng 类(class))

python - `datetime.strftime` 和 `datetime.strptime` 对 %Y 的解释不同

python-3.x - 将 inception 输出导出为 spacy 的训练输入格式

python - 从文本python计算多重平均值

python - 如何将字幕文件转换为每个字幕只有一个句子?

python - 布伦特算法的矢量化版本(求根)

python - 通过 RTI Connector 将序列/对象发布到 ROS2 应用程序

python-3.x - 如何使用 Pandas 将文件写入 S3

python - 如何给十六进制添加前导0