OCR 數字

OCR 數字

簡單

簡介

你最好的朋友 Marta 最近找到了一份夢寐以求的工作,在當地一間歷史博物館負責館藏相關的事務。 Marta 知道你對程式設計有興趣,便向你吐露工作上遇到的難題:博物館即將舉辦一場關於運算歷史的展覽。 當地一所大學的數學系捐贈了好幾箱歷史列印資料,但由於文件狀況不佳,館方決定將這些文字數位化。 然而,大學那台老舊的印表機在呈現文字的方式上有一些古怪之處,你的朋友需要你帮忙,才能順利取出這些資料。

說明

光學字元辨識(OCR)是一種能把文字影像轉換成機器可讀文字的軟體。 給定一個由字元組成、代表某些數字的網格,請把這個網格轉換成數字字串。 如果網格包含多行格子,輸出時應該用","分隔各行。

  • 網格由一行或更多行的格子組成。
  • 網格的每一行由一個或多個格子組成。
  • 每個格子寬 3 欄、高 4 行(3x4),代表一個數字。
  • 數字是用豎線("|")、底線("_")和空格(" ")畫出來的。

邊界情況

  • 如果輸入的大小無效,你的程式應該表示發生了錯誤。
  • 如果輸入的大小正確,但某個格子無法辨識,你的程式應該為那個字元輸出"?"。

範例

以下的輸入(不含註解)會轉換成"1234567890"。

      _  _     _  _  _  _  _  _  #
    | _| _||_||_ |_   ||_||_|| | # Decimal numbers.
    ||_  _|  | _||_|  ||_| _||_| #
                                 # The fourth line is always blank,

以下的輸入會轉換成"123,456,789"。

    _  _ 
  | _| _|
  ||_  _|
         
    _  _ 
|_||_ |_ 
  | _||_|
         
 _  _  _ 
  ||_||_|
  ||_| _|
         
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
PowerShell Exercism

準備好開始 OCR 數字 了嗎?

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