Submission
Status:
PPPP-------P-------P
Subtask/Task Score:
30/100
Score: 30
User: zodji
Problemset: Abacus
Language: python
Time: 0.012 second
Submitted On: 2025-10-22 16:23:50
def draw_abacus(number):
num_str = str(number).rjust(8,'0')
abacus = [[" " for _ in range(8)] for _ in range(11)]
for col, ch in enumerate(num_str):
digit = int(ch)
if digit >= 5:
abacus[0][col] = "*"
abacus[1][col] = " "
abacus[2][col] = "*"
else:
abacus[0][col] = "*"
abacus[1][col] = "*"
abacus[2][col] = " "
ones = digit %5
patterns = {
0:[" ", "*", "*", "*", "*", "*"],
1:["*", " ", "*", "*", "*", "*"],
2:["*", "*", " ", " ", "*", "*"],
3:["*", "*", "*", " ", " ", "*"],
4:["*", "*", "*", "*", " ", " "],
}
for i, val in enumerate(patterns[ones]):
abacus[5 + i][col] = val
abacus[10][col] = "*"
for r in range(3):
print(" ".join(abacus[r]))
print('-----------------')
for r in range(5, 11):
print(" ".join(abacus[r]))
n = int(input())
draw_abacus(n)