Herausforderung
Erkennen Sie ASCII-Kunstnummern. Um die Sache interessant zu machen, können drei zufällige Punkte im Bild umgedreht werden. Beispielsweise:
*****
* **
**
**
**
**
Eingang
Eine 7x7-ASCII-Kunstnummer, die mit dem folgenden Python-Skript generiert wurde.
Ausgabe
Eine Ziffer.
Skript testen
Hier ist ein Python-Skript (2.6+) zum Generieren der Testfälle:
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))