我正在参与“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/