“Pig Latin”英語兒童文字改寫遊戲
阿新 • • 發佈:2019-01-24
題目內容:
“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()