我正在做“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”附加到单词的末尾。
通过在线收集信息,我有了一些关于如何实现它的线索,但我认为我的代码仍然有问题。

最佳答案

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

简而言之,检查字符串的第一个字符。如果它不是元音 ( not in ['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 拉丁语,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35182501/

10-12 17:42