도전
ASCII 아트 번호를 인식하십시오. 흥미로운 점을 위해 이미지에서 임의의 3 개의 점이 뒤집힐 수 있습니다. 예를 들면 다음과 같습니다.
*****
* **
**
**
**
**
입력
아래 파이썬 스크립트에 의해 생성 된 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))