Как уменьшить код?

dva = 2
minus = -1
a1 = ''
a2 = ''
a3 = ''
a4 = ''
a5 = ''
a6 = ''
a7 = ''
a8 = ''
a9 = ''

print('День:')
den = input()
x = [int(a) for a in str(den)]
x.sort()
x1,x2= x
sden = x1+x2
#-----------------------------------------

if x1 == 1:
    a1 = a1 + '1'   

if x1 == 2:
    a2 = a2 + '2'   

if x1 == 3:
    a3 = a3 + '3'
    
if x1 == 4:
    a4 = a4 + '4'   

if x1 == 5:
    a5 = a5 + '5'   

if x1 == 6:
    a6 = a6 + '6'
    
if x1 == 7:
    a7 = a7 + '7'   

if x1 == 8:
    a8 = a8 + '8'   

if x1 == 9:
    a9 = a9 + '9'
#-----------------------------------------

if x2 == 1:
    a1 = a1 + '1'   

if x2 == 2:
    a2 = a2 + '2'   

if x2 == 3:
    a3 = a3 + '3'
    
if x2 == 4:
    a4 = a4 + '4'   

if x2 == 5:
    a5 = a5 + '5'   

if x2 == 6:
    a6 = a6 + '6'
    
if x2 == 7:
    a7 = a7 + '7'   

if x2 == 8:
    a8 = a8 + '8'   

if x2 == 9:
    a9 = a9 + '9'
#--------------------------------------------
    

print('Месяц:')
mes = input()
xx2 = [int(a) for a in str(mes)]
x.sort()
y1,y2= xx2
smes = y1+y2

#-----------------------------------------

if y1 == 1:
    a1 = a1 + '1'   

if y1 == 2:
    a2 = a2 + '2'   

if y1 == 3:
    a3 = a3 + '3'
    
if y1 == 4:
    a4 = a4 + '4'   

if y1 == 5:
    a5 = a5 + '5'   

if y1 == 6:
    a6 = a6 + '6'
    
if y1 == 7:
    a7 = a7 + '7'   

if y1 == 8:
    a8 = a8 + '8'   

if y1 == 9:
    a9 = a9 + '9'
#-----------------------------------------

if y2 == 1:
    a1 = a1 + '1'   

if y2 == 2:
    a2 = a2 + '2'   

if y2 == 3:
    a3 = a3 + '3'
    
if y2 == 4:
    a4 = a4 + '4'   

if y2 == 5:
    a5 = a5 + '5'   

if y2 == 6:
    a6 = a6 + '6'
    
if y2 == 7:
    a7 = a7 + '7'   

if y2 == 8:
    a8 = a8 + '8'   

if y2 == 9:
    a9 = a9 + '9'
#--------------------------------------------
    
print('Год:')
god = input()
x3 = [int(a) for a in str(god)]
x.sort()
z1,z2,z3,z4 = x3
sgod = z1+z2+z3+z4

#-----------------------------------------

if z1 == 1:
    a1 = a1 + '1'   

if z1 == 2:
    a2 = a2 + '2'   

if z1 == 3:
    a3 = a3 + '3'
    
if z1 == 4:
    a4 = a4 + '4'   

if z1 == 5:
    a5 = a5 + '5'   

if z1 == 6:
    a6 = a6 + '6'
    
if z1 == 7:
    a7 = a7 + '7'   

if z1 == 8:
    a8 = a8 + '8'   

if z1 == 9:
    a9 = a9 + '9'
#-----------------------------------------

if z2 == 1:
    a1 = a1 + '1'   

if z2 == 2:
    a2 = a2 + '2'   

if z2 == 3:
    a3 = a3 + '3'
    
if z2 == 4:
    a4 = a4 + '4'   

if z2 == 5:
    a5 = a5 + '5'   

if z2 == 6:
    a6 = a6 + '6'
    
if z2 == 7:
    a7 = a7 + '7'   

if z2 == 8:
    a8 = a8 + '8'   

if z2 == 9:
    a9 = a9 + '9'
#--------------------------------------------
#-----------------------------------------

if z3 == 1:
    a1 = a1 + '1'   

if z3 == 2:
    a2 = a2 + '2'   

if z3 == 3:
    a3 = a3 + '3'
    
if z3 == 4:
    a4 = a4 + '4'   

if z3 == 5:
    a5 = a5 + '5'   

if z3 == 6:
    a6 = a6 + '6'
    
if z3 == 7:
    a7 = a7 + '7'   

if z3 == 8:
    a8 = a8 + '8'   

if z3 == 9:
    a9 = a9 + '9'
#-----------------------------------------

if z4 == 1:
    a1 = a1 + '1'   

if z4 == 2:
    a2 = a2 + '2'   

if z4 == 3:
    a3 = a3 + '3'
    
if z4 == 4:
    a4 = a4 + '4'   

if z4 == 5:
    a5 = a5 + '5'   

if z4 == 6:
    a6 = a6 + '6'
    
if z4 == 7:
    a7 = a7 + '7'   

if z4 == 8:
    a8 = a8 + '8'   

if z4 == 9:
    a9 = a9 + '9'
#--------------------------------------------
    
h1 = sden+smes+sgod
hh1 = h1


if h1 < 10:
        h2 = h1
else:
    h2 = [int(a) for a in str(hh1)]
    x.sort()
    ph1,ph2= h2
    h2 = ph1+ph2

if h2 < 10:
        q2 = h2
        q1 = 0
else:
    qq1 = h2
    hq2 = [int(a) for a in str(qq1)]
    x.sort()
    q1,q2= hq2
    h2 = q1+q2
    
if h1 < 10:
        m2 = h1
        m1 = 0
else:
    mm1 = h1
    hm2 = [int(a) for a in str(mm1)]
    x.sort()
    m1,m2= hm2
    h2 = m1+m2

if x1 < 1:
    rh3 = dva*x2
    h3 = h1-rh3
else:
    rh3 = dva*x1
    h3 = h1-rh3


if h3 < 0:
    h3 = h3 * minus

if h3 < 10:
    h4 = h3
else:
    hh3 = h3
    hh3 = [int(a) for a in str(hh3)]
    x.sort()
    pph1,pph2= hh3
    h4 = pph1+pph2
    
if h3 < 10:
    pk1 = h3
    pk2 = 0
else:
    hhh3 = h3
    hhh3 = [int(a) for a in str(hhh3)]
    x.sort()
    pk1,pk2= hhh3
    kh4 = pk1+pk2

if h4 < 10:
        b1 = h4
        b2 = 0
else:
    hhh4 = h4
    hhh4 = [int(a) for a in str(hhh4)]
    x.sort()
    b1, b2 = hhh4
    kh4 = b1+b2

#-------------------------------------------- 
if pk2 == 1:
    a1 = a1 + '1'   

if pk2 == 2:
    a2 = a2 + '2'   

if pk2 == 3:
    a3 = a3 + '3'
    
if pk2 == 4:
    a4 = a4 + '4'   

if pk2 == 5:
    a5 = a5 + '5'   

if pk2 == 6:
    a6 = a6 + '6'
    
if pk2 == 7:
    a7 = a7 + '7'   

if pk2 == 8:
    a8 = a8 + '8'   

if pk2 == 9:
    a9 = a9 + '9'
#--------------------------------------------

if pk1 == 1:
    a1 = a1 + '1'   

if pk1 == 2:
    a2 = a2 + '2'   

if pk1 == 3:
    a3 = a3 + '3'
    
if pk1 == 4:
    a4 = a4 + '4'   

if pk1 == 5:
    a5 = a5 + '5'   

if pk1 == 6:
    a6 = a6 + '6'
    
if pk1 == 7:
    a7 = a7 + '7'   

if pk1 == 8:
    a8 = a8 + '8'   

if pk1 == 9:
    a9 = a9 + '9'
#-------------------------------------------- 
if b2 == 1:
    a1 = a1 + '1'   

if b2 == 2:
    a2 = a2 + '2'   

if b2 == 3:
    a3 = a3 + '3'
    
if b2 == 4:
    a4 = a4 + '4'   

if b2 == 5:
    a5 = a5 + '5'   

if b2 == 6:
    a6 = a6 + '6'
    
if b2 == 7:
    a7 = a7 + '7'   

if b2 == 8:
    a8 = a8 + '8'   

if b2 == 9:
    a9 = a9 + '9'
#--------------------------------------------

if b1 == 1:
    a1 = a1 + '1'   

if b1 == 2:
    a2 = a2 + '2'   

if b1 == 3:
    a3 = a3 + '3'
    
if b1 == 4:
    a4 = a4 + '4'   

if b1 == 5:
    a5 = a5 + '5'   

if b1 == 6:
    a6 = a6 + '6'
    
if b1 == 7:
    a7 = a7 + '7'   

if b1 == 8:
    a8 = a8 + '8'   

if b1 == 9:
    a9 = a9 + '9'
#-------------------------------------------- 
if m2 == 1:
    a1 = a1 + '1'   

if m2 == 2:
    a2 = a2 + '2'   

if m2 == 3:
    a3 = a3 + '3'
    
if m2 == 4:
    a4 = a4 + '4'   

if m2 == 5:
    a5 = a5 + '5'   

if m2 == 6:
    a6 = a6 + '6'
    
if m2 == 7:
    a7 = a7 + '7'   

if m2 == 8:
    a8 = a8 + '8'   

if m2 == 9:
    a9 = a9 + '9'
#--------------------------------------------

if m1 == 1:
    a1 = a1 + '1'   

if m1 == 2:
    a2 = a2 + '2'   

if m1 == 3:
    a3 = a3 + '3'
    
if m1 == 4:
    a4 = a4 + '4'   

if m1 == 5:
    a5 = a5 + '5'   

if m1 == 6:
    a6 = a6 + '6'
    
if m1 == 7:
    a7 = a7 + '7'   

if m1 == 8:
    a8 = a8 + '8'   

if m1 == 9:
    a9 = a9 + '9'
#-------------------------------------------- 
if q2 == 1:
    a1 = a1 + '1'   

if q2 == 2:
    a2 = a2 + '2'   

if q2 == 3:
    a3 = a3 + '3'
    
if q2 == 4:
    a4 = a4 + '4'   

if q2 == 5:
    a5 = a5 + '5'   

if q2 == 6:
    a6 = a6 + '6'
    
if q2 == 7:
    a7 = a7 + '7'   

if q2 == 8:
    a8 = a8 + '8'   

if q2 == 9:
    a9 = a9 + '9'
#--------------------------------------------

if q1 == 1:
    a1 = a1 + '1'   

if q1 == 2:
    a2 = a2 + '2'   

if q1 == 3:
    a3 = a3 + '3'
    
if q1 == 4:
    a4 = a4 + '4'   

if q1 == 5:
    a5 = a5 + '5'   

if q1 == 6:
    a6 = a6 + '6'
    
if q1 == 7:
    a7 = a7 + '7'   

if q1 == 8:
    a8 = a8 + '8'   

if q1 == 9:
    a9 = a9 + '9'

if a1 == '':
    a1 = '---'
if a2 == '':
    a2 = '---'
if a3 == '':
    a3 = '---'
if a4 == '':
    a4 = '---'
if a5 == '':
    a5 = '---'
if a6 == '':
    a6 = '---'
if a7 == '':
    a7 = '---'
if a8 == '':
    a8 = '---'
if a9 == '':
    a9 = '---'
    
print('----------------')
print('|', a1, '|', a4, '|', a7, '|')
print('|', a2, '|', a5, '|', a8, '|')
print('|', a3, '|', a6, '|', a9, '|')
print('----------------')


print(h1,h2,'.',h3,h4)

Ответы (1 шт):

Автор решения: thelonelyangel

Врятли кто-то остаться переписывать Ваше творчество, но могу дать пару советов:

  1. Используйте списки. Это первое что бросается в глаза. a1,a2,…,a9 - замените одним списком и обращайтесь по индексу вместо цифры в название переменной.

  2. Замените ваши многочисленные if на логичное математическое действие. Вы проверяете: если х1 = 1, то делаете что-то. Но ведь можно просто a[1] += x[1], если реализовать переменные как списки. Не особо понимаю зачем Вам тут конструкция if. Если она Вам действительно необходима, то используйте elif.

  3. Кажется, это не похоже на какой либо проект. Скорее задача. Стоит ли это упрощать, если оно работает? А вообще советую подучить базовые вещи в python.

→ Ссылка