1
VOWELS = ('a', 'e', 'i', 'o', 'u')


def pigLatin(word):
    first_letter = word[0]
    if first_letter in VOWELS:  # if word starts with a vowel...
        return word + "hay"     # then keep it as it is and add hay to the end
    else:
        return word[1:] + word[0] + "ay"


def findFirstVowel(word):
    novowel = False
    if novowel == False:
        for c in word:
            if c in VOWELS:
                return c

複数の子音で始まる単語を処理できるピグラタン トランスレータを作成する必要があります。

たとえば、「string」と入力したときに現在得られる出力は次のとおりです。

PigLatin("string") = tringsay

出力が必要です:

PigLatin("string") = ingstray

これを書くために、単語を繰り返し処理して最初の母音を見つける追加の関数を書きましたが、その後どうすればよいかわかりません。どんな助けでも大歓迎です。

4

3 に答える 3

0

子音のインデックスを見つけてスライスする必要があります。

次に例を示します。

def isvowel(letter): return letter.lower() in "aeiou"

def pigLatin(word):
    if isvowel(word[0]):     # if word starts with a vowel...
        return word + "hay"  # then keep it as it is and add hay to the end
    else:
        first_vowel_position = get_first_vowel_position(word)
        return word[first_vowel_position:] + word[:first_vowel_position] + "ay"

def get_first_vowel_position(word):
    for position, letter in enumerate(word):
        if isvowel(letter):
            return position
    return -1
于 2013-10-01T03:28:54.137 に答える