Homework của mình là tạo một code giúp người dùng nhập 1 từ bất kì thì từ đó sẽ được dịch sang ngôn ngữ “Pig Latin”
theo 4 luật là:
- từ có các chữ cái A, E, I, O, U ở đầu sẽ đc thêm chữ ‘way’ ở cuối từ. ví dụ “at” becomes “atway”, “egg” becomes “eggway”
- từ KHÔNG chứa các chữ cái a, e, i, o, u thì cũng thêm chữ ‘way’ ở cuối từ. ví dụ “my” becomes “myway”, “by” becomes “byway”
- từ CÓ chứa các chữ cái trên ở trong thân thì từ đó sẽ được hoán đổi vị trí với tất cả các chữ cái ở bên trái các chữ a, e, i, o, u sẽ được dời hết về sau và thêm chữ ‘ay’. Ví dụ chữ body thì sẽ thành odybay.
chữ cat sẽ thành atcay. chứ tree sẽ thành eetray. - chữ có chữ cái phụ âm đầu viết hoa sẽ đc dời xuống cuối và thêm chữ ‘ay’. ví dụ Houston sẽ thành Oustonhay, Marry sẽ thành Arrymay.
Mình đã làm đc luật 1&2 cần giúp đỡ ở luật 3 và 4. phần code mình để trong dấu # # là cho luật 3 nhưng sai code. mong mọi người giúp đỡ. Mình cố dùng lệnh .find() để tìm index của các chữ a, e, i, o, u trong từ nhưng không đc.
cảm ơn mọi người
def is_vowel(letter):
return letter.upper() in "AEIOU"
def has_vowel(word):
for letter in word:
if is_vowel(letter):
return True
return False
def translte(word):
if is_vowel(word[0]):
return word + "way"
#elif has_vowel(word):
index = word.find('aeiou')
return word[index:] + word[:index] + 'ay' #
else:
return word + 'way'
print("This program will translate a word from English to Pig Latin.")
choice = 'Y'
while choice.upper() == 'Y':
word = input("Please enter a word: ")
print(word, "becomes", translte(word) + ".")
choice = input("Would you like another word? (Y/N) ")
print("Ankthay ouyay!")