規則は、ラテン語の文章は以下のとおりです。豚ラテンファンクション文
1.for単語が子音で始まる、第1の母音の前に、すべての文字が単語の末尾に移動され、さらに「で追加されAY '
2.母音で始まる単語、' hay 'で単語が追加されます
3.母音を含まない単語の場合、最初の文字は単語の最後に移動され、' way '
4.すべての非文字(数字、記号)は無視されます
コードの主要部分exユーザーからの文字列入力を受け取り、pigLatin関数を呼び出し、返された結果を出力する無限ループを実行します。 pigLatin関数は単語のリストを入力として受け取り、上記の規則を使用してそれらをブタのラテン語に変換します。ユーザが「このプログラムを終了する」を入力文として入力すると、主要部分が終了する。すべてのケース(無効な入力を含む)についてプログラムを検証し、プログラムを保存します。
ルール3を解決することは非常に困難です。私がコードをテストするとき、出力は正しくありません... 私は一晩中それを苦労して眠れませんでした....助けてください あなたが何を考えウィレム・ヴァン・Onsemが言ったように
enter code here
sentence=input('input:')
VOWELS=['a','e','i','o','u']
CONSONANTS=['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z']
def pigLatin():
t=-1
for word in newsentence:
if word[0] in CONSONANTS:
if 'a'and'e'and'i'and'o'and'u' not in word[1:]:
print(word[1:]+word[0]+'way',end=' ')
for u in word:
t +=1
if u in VOWELS:
print (word[t:]+word[0:t]+'ay',end=' ')
break
elif word[0] in VOWELS:
print (word[0:]+'hay',end=' ')
else:
print (word[0:])
while sentence!=('Quit the program'):
newsentence=sentence.split()
pigLatin()
sentence=input('input:')
これはおそらくすでに1000回答えられています。 fooの 'a 'と' b'ではなく、 '' fooの '' a 'とfoo''の 'b' ... –
"すべての非文字は無視されます "という意味は、アカウント? –
[python pig latin converter]の可能な複製(http://stackoverflow.com/questions/15400008/python-pig-latin-converter) –