1. 程式人生 > >“Pig Latin”英語兒童文字改寫遊戲

“Pig Latin”英語兒童文字改寫遊戲

題目內容:
“Pig Latin”是一個英語兒童文字改寫遊戲,整個遊戲遵從下述規則:

(1). 母音字母是‘a’、‘e’、‘i’、‘o’、‘u’。字母‘y’在不是第一個字母的情況下,也被視作母音字母。其他字母均為子音字母。例如,單詞“yearly”有三個母音字母(分別為‘e’、‘a’和最後一個‘y’)和三個子音字母(第一個‘y’、‘r’和‘l’)。

(2). 如果英文單詞以母音字母開始,則在單詞末尾加入“hay”後得到“Pig Latin”對應單詞。例如,“ask”變為“askhay”,“use”變為“usehay”。

(3). 如果英文單詞以‘q’字母開始,並且後面有個字母‘u’,將“qu”移動到單詞末尾加入“ay”後得到“Pig Latin”對應單詞。例如,“quiet”變為“ietquay”,“quay”變為“ayquay”。

(4). 如果英文單詞以子音字母開始,所有連續的子音字母一起移動到單詞末尾加入“ay”後得到“Pig Latin”對應單詞。例如,“tomato”變為“omatotay”, “school” 變為“oolschay”,“you” 變為“ouyay”,“my” 變為“ymay ”,“ssssh” 變為“sssshay”。

(5). 如果英文單詞中有大寫字母,必須所有字母均轉換為小寫。

輸入格式:
一系列單詞,單詞之間使用空格分隔。

輸出格式:
按照以上規則轉化每個單詞,單詞之間使用空格分隔。

輸入樣例:
Welcome to the Python world Are you ready

輸出樣例:
elcomeway otay ethay ythonpay orldway arehay ouyay eadyray

# -*- coding: utf-8 -*-
###Pig_Latin遊戲
def is_vowel(c):
    ###判斷是母音字元
    return c in ['a','e','i','o','u']

#print(is_vowel('y'))
###輸入
string = input()
###初步處理
string = string.lower()
string = string.strip()
words = string.split
() ###臨時儲存列表 change_string = [] for word in words: first = word[0] if is_vowel(first): ###首字母是母音 word = word[:] + "hay" else: ###首字母不是母音 if word[:2] == "qu": ###前兩字母是”qu" word = word[2:] + "quay" else: for i in range(1,len(word)): ###對於每個WORD,遍歷字元 if is_vowel(word[i]) or (word[i] == 'y'): break else: first = first + word[i] word = word[len(first):] + first + "ay" ###將改寫的WORD 存入臨時列表 change_string.append(word) for word in change_string: print(word,end = " ") print()

這裡寫圖片描述