-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrainer_stepik_numbers_by_abc.py
88 lines (71 loc) · 3.46 KB
/
trainer_stepik_numbers_by_abc.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
"""
Напишите программу, которая выводит число в стиле LCD калькулятора.
На вход программе подаётся последовательность цифр, которую нужно вывести на экран в специальном стиле (см. пример).
Размер всех цифр 4 символа в ширину и 7 символов в высоту. Между цифрами в выводе должен быть один пустой столбец. Перед первой цифрой не должно быть пробелов.
Выведенные цифры должны быть обведены рамочкой, в углах которой находится символ x ("икс"), горизонтальная линия создаётся из символа - ("дефис"), а вертикальная -- из символа вертикальной черты: |.
Формат ввода:
Строка произвольной длины (минимум один символ), содержащая последовательность цифр.
Формат вывода:
9 строк, содержащих цифры, записанные в указанном в задании формате.
Sample Input:
0123456789
Sample Output:
x-------------------------------------------------x
| -- -- -- -- -- -- -- -- |
|| | | | | | | | | | | | | ||
|| | | | | | | | | | | | | ||
| -- -- -- -- -- -- -- |
|| | | | | | | | | | | | ||
|| | | | | | | | | | | | ||
| -- -- -- -- -- -- -- |
x-------------------------------------------------x
"""
a1 = ' -- '
a2 = '| |'
a3 = ' '
a4 = ' |'
a5 = '| '
a_dash = '----'
d = {'0': [a1, a2, a2, a3, a2, a2, a1],
'1': [a3, a4, a4, a3, a4, a4, a3],
'2': [a1, a4, a4, a1, a5, a5, a1],
'3': [a1, a4, a4, a1, a4, a4, a1],
'4': [a3, a2, a2, a1, a4, a4, a3],
'5': [a1, a5, a5, a1, a4, a4, a1],
'6': [a1, a5, a5, a1, a2, a2, a1],
'7': [a1, a4, a4, a3, a4, a4, a3],
'8': [a1, a2, a2, a1, a2, a2, a1],
'9': [a1, a2, a2, a1, a4, a4, a1]}
mm = [d[x][:] for x in input() if x in d]
do_not_print = False
if not len(mm):
do_not_print = True
for x in mm:
x.append(a_dash)
x.insert(0, a_dash)
mm.insert(0, ['x', '|', '|', '|', '|', '|', '|', '|', 'x'])
mm.append(['x', '|', '|', '|', '|', '|', '|', '|', 'x'])
du = zip(*mm)
if not do_not_print:
for x in zip(*mm):
if x[0] == 'x':
# print(*x, sep='')
for index in range(0, len(x)):
if index == 0:
print(x[index], sep='', end='')
elif index == (len(x) - 2):
print(x[index], sep='', end='')
elif index == (len(x) - 1):
print(x[index])
else:
print(x[index], end='-')
else:
for index in range(0, len(x)):
if index == 0:
print(x[index], sep='', end='')
elif index == (len(x) - 2):
print(x[index], sep='', end='')
elif index == (len(x) - 1):
print(x[index])
else:
print(x[index], end=' ')