给定一个 3 x 4 的网格,由竖线、下划线和空格组成,判断它表示的是哪个数字,或者是否已经无法辨认。
首先,把一个简单的二进制字体转换成只含 0 或 1 的字符串。
这种二进制字体使用竖线和下划线,高四行、宽三列。
_ #
| | # zero.
|_| #
# the fourth row is always blank
会转换成 "0"
#
| # one.
| #
# (blank fourth row)
会转换成 "1"
如果输入的大小正确,但无法辨认,程序应返回 '?'
如果输入的大小不正确,程序应返回一个错误。
修改程序,让它能够识别多字符的二进制字符串,并把无法辨认的数字替换为 ?。
修改程序,让它能够识别 0 到 9 的所有数字,无论是单独出现,还是作为更长字符串的一部分。
_
_|
|_
会转换成 "2"
_ _ _ _ _ _ _ _ #
| _| _||_||_ |_ ||_||_|| | # decimal numbers.
||_ _| | _||_| ||_| _||_| #
# fourth line is always blank
会转换成 "1234567890"
修改程序,让它能够处理多个数字,每行一个。转换多行时,用逗号把这些行连接起来。
_ _
| _| _|
||_ _|
_ _
|_||_ |_
| _||_|
_ _ _
||_||_|
||_| _|
会转换成 "123,456,789"。