兒童黑話

兒童黑話

中等

簡介

你的父母向你和你兄弟姊妹發起挑戰,要來一場二對二籃球賽。 他們自信滿滿,覺得自己一定會贏,於是先讓你們拿下幾分,接著才開始接管比賽。 為了提振士氣,你開始說起 Pig Latin,那是一種虛構的兒童語言,非兒童很難聽懂。 這下你就能佔上風,擊敗你的父母了!

說明

你的任務是把英文翻譯成豬拉丁。這套翻譯由四條規則定義,這些規則會檢視一個字開頭的母音與子音模式。這些規則會看每個字使用母音和子音的方式:

  • 母音:字母 a、e、i、o 和 u
  • 子音:英文字母中其餘的 21 個字母

規則 1

如果一個字開頭是母音,或以 "xr" 或 "yt" 開頭,就在字尾加上 "ay" 的音。

例如:

  • "apple" -> "appleay"(開頭是母音)
  • "xray" -> "xrayay"(開頭是 "xr")
  • "yttria" -> "yttriaay"(開頭是 "yt")

規則 2

如果一個字開頭是一個或多個子音,就先把那些子音移到字尾,然後在字尾加上 "ay" 的音。

例如:

  • "pig" -> "igp" -> "igpay"(開頭是單一子音)
  • "chair" -> "airch" -> "airchay"(開頭是多個子音)
  • "thrush" -> "ushthr" -> "ushthray"(開頭是多個子音)

規則 3

如果一個字開頭是零個或多個子音,後面接著 "qu",就先把那些子音(如果有的話)和 "qu" 的部分移到字尾,然後在字尾加上 "ay" 的音。

例如:

  • "quick" -> "ickqu" -> "ay"(開頭是 "qu",前面沒有子音)
  • "square" -> "aresqu" -> "aresquay"(開頭是一個子音後面接著 "qu")

規則 4

如果一個字開頭是一個或多個子音,後面接著 "y",就先把 "y"前面的子音移到字尾,然後在字尾加上 "ay" 的音。

一些例子:

  • "my" -> "ym" -> "ymay"(開頭是單一子音後面接著 "y")
  • "rhythm" -> "ythmrh" -> "ythmrhay"(開頭是多個子音後面接著 "y")
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Delphi Pascal Exercism

準備好開始 兒童黑話 了嗎?

註冊 Exercism,透過 76 個練習 和真人引導來學習並精通 Delphi Pascal,全部免費。

深入探索 兒童黑話!

我們會看看模式比對和正規表達式,以及一個漂亮的 Prolog 解法,並問問你:你是真的解出了這道練習,還是只讓測試通過而已?