В свое время телефонные автодозвонщики использовали перфокарты с одним столбцом для каждой цифры набираемого номера. Колонны имели семь рядов. Первые три строки представляли числа (1,2,3), (4,5,6) и (7,8,9) соответственно. Последние три ряда повернули это расположение на 90 °: (1,4,7), (2,5,8) и (3,6,9). Средний ряд был использован для 0. Любая цифра 1-9 будет иметь два пробитых отверстия - одно в первых трех рядах и одно в трех нижних рядах. Ноль пробил бы только средний ряд. Давайте представим перфорированный столбец для числа 6 ( .
не перфорирован, x
перфорирован, направляющая слева - просто для иллюстрации кодировки):
123 .
456 x
789 .
0 .
147 .
258 .
369 x
Мы ищем, какие строки содержат номер, который мы пытаемся набрать. Для 6 это второй ряд и девятый ряд. Эти два ряда перфорированы, остальные пять рядов перфорированы. Вот перфорированные шаблоны для всех цифр 0-9:
0 1 2 3 4 5 6 7 8 9
123 . x x x . . . . . .
456 . . . . x x x . . .
789 . . . . . . . x x x
0 x . . . . . . . . .
147 . x . . x . . x . .
258 . . x . . x . . x .
369 . . . x . . x . . x
Ваша цель состоит в том, чтобы (написать программу или функцию) пробить эти карты для меня.
Входные данные: число, принятое в любом приемлемом формате (строка, целое число, список целых чисел и т. Д.), Не должно превышать 9999999999999.
Вывод: Сетка перфорированных столбцов, соответствующая числовому вводу. Вам не нужны заголовки или дополнительный интервал, показанный выше, только сами перфорированные столбцы. Лидирующие / завершающие символы новой строки в порядке, как и пробелы между строками / столбцами, если они согласованы . Говоря о том, что до тех пор, пока они согласованы, вы можете использовать любой (непробельный) символ для перфорированных и любой другой символ для перфорированных (хотя это должно быть очевидно, пожалуйста, укажите, какие символы вы используете).
Это код-гольф, поэтому выигрывает самый короткий код. Стандартные лазейки запрещены.
Контрольные примеры (все используют .
для неперфорированных, x
для перфорированных):
In: 911
Out: .xx
...
x..
...
.xx
...
x..
In: 8675309
Out: ....x..
.x.x...
x.x...x
.....x.
..x....
x..x...
.x..x.x
In: 5553226
Out: ...xxx.
xxx...x
.......
.......
.......
xxx.xx.
...x..x