的爲豬規則拉丁句子是:的Pig Latin功能句子
1.對於單詞,輔音開始,第一個元音之前的所有字母被移動到單詞的結尾,並通過「進一步追加AY '
2.對於以元音開始的單詞,該單詞被附加'乾草'
3.對於不包含元音的單詞,第一個字母被移動到單詞的末尾並且被附加'方式'
4.忽略所有非字符(即數字,符號)
代碼ex的主要部分執行一個無限循環,該循環接受來自用戶的字符串輸入,調用pigLatin函數並打印返回的結果。 pigLatin函數接收一個單詞列表作爲其輸入,並使用上述規則將它們轉換爲拉丁文。當用戶輸入「退出該程序」作爲轉換的輸入句子時,主要部分退出。驗證所有情況下的程序(包括無效輸入)並保存程序。
我覺得很難解決規則3.當我測試代碼時,輸出是不正確的... 我奮鬥了一整夜,無法入睡....請幫助 這裏是我的代碼:
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:')
這大概已經回答了一千次。它不是foo中的'a'和'b',而是foo中的'a'和foo中的'b'... –
「所有非字符都被忽略」,是不是意味着只有字母被帶入帳戶? –
[python豬拉丁轉換器]的可能重複(http://stackoverflow.com/questions/15400008/python-pig-latin-converter) –