挑战
识别ASCII艺术编号。为了使事情变得有趣,可能会翻转图像中的三个随机点。例如:
*****
* **
**
**
**
**
输入值
以下Python脚本生成的7x7 ASCII艺术编号。
输出量
一个数字。
测试脚本
这是生成测试用例的Python脚本(2.6+):
import random
digits = '''\
***
** **
** **
** **
** **
** **
***
*
***
*
*
*
*
*****
***
* **
*
**
**
**
******
***
* **
*
***
*
* **
***
**
***
* **
* **
******
**
**
*****
**
****
*
*
* *
***
****
**
*****
* *
** **
** *
****
*****
**
**
**
**
**
**
****
** **
** **
****
** **
** **
****
***
** **
** **
** *
****
**
**** '''.split('\n\n')
def speckle(image, num_speckles):
grid = [list(row) for row in image.split('\n')]
for i in range(num_speckles):
row = random.choice(grid)
row[random.randint(0, 6)] = random.choice([' ', '*'])
return '\n'.join([''.join(row) for row in grid])
digit = random.choice(digits)
print(speckle(digit, 3))
您确定每两位数字之间的汉明距离是否大于6?
—
约翰·德沃夏克
@JanDvorak:我调整了字体,这样就不会有问题了。你看到一个吗?
—
Blender 2014年