Thử thách
Nhận biết số nghệ thuật ASCII. Để làm cho mọi thứ thú vị, ba điểm ngẫu nhiên trong hình ảnh có thể được lật. Ví dụ:
*****
* **
**
**
**
**
Đầu vào
Số nghệ thuật 7x7 ASCII được tạo bởi tập lệnh Python bên dưới.
Đầu ra
Một chữ số.
Kiểm tra tập lệnh
Đây là tập lệnh Python (2.6+) để tạo các trường hợp thử nghiệm:
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))