помогите построить фигуру

      `1
       21
       321  
       4321    
       54321     
       654321    
       7654321       
       87654321        
       987654321         
       87654321
       7654321
       654321
       54321
       4321
       321
       21
       1`

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

Автор решения: Soup
for i in range(1, 10):
    print(''.join(list(map(str, range(i, 0, -1)))))
for i in range(8, 0, -1):
    print(''.join(list(map(str, range(i, 0, -1)))))
→ Ссылка
Автор решения: Zhihar

вариант 1:

for i in list(range(1, 9)) + [9] + list(reversed(range(1, 9))):
    print(*[j for j in list(reversed(range(1, i + 1)))], sep='')

вариант 2 (однострочный):

print(*[''.join(map(str, [j for j in list(reversed(range(1, i + 1)))])) for i in list(range(1, 9)) + [9] + list(reversed(range(1, 9)))], sep='\n')

вариант 3 (однострочный укороченный):

print(*[''.join(map(str, [j for j in range(1, i + 1)]))[::-1] for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1]], sep='\n')

еще короче

print(*[''.join(map(str, range(1, i + 1)))[::-1] for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1]], sep='\n')

еще чуть-чуть короче

print(*[''.join(map(str, range(i, 0, -1))) for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1]], sep='\n')

вариант 4 (самый короткий):

print(*[''.join(map(str, range(i, 0, -1))) for i in list(range(1, 10)) + list(range(8, 0, -1))], sep='\n')

вариант 5 (еще короче, от @GrAnd):

print(*[''.join(map(str, range(i, 0, -1))) for i in [*range(1, 10), *range(8, 0, -1)]], sep='\n')

вариант 6 (еще на пару байтиков короче):

print('\n'.join(''.join(map(str, range(i, 0, -1))) for i in [*range(1, 10), *range(8, 0, -1)]))

вариант 7 (от колдуна @GrAnd):

[print("".join(map(str, range(9 - abs(i), 0, -1)))) for i in range(-8, 9)]

вариант 8 (еще более короткий, но менее универсальный):

[print("123456789"[:9 - abs(i)][::-1]) for i in range(-8, 9)]

и даже так:

[print("987654321"[abs(8 - i):]) for i in range(17)]

и еще на одну буковку поменьше:

[print("987654321"[abs(i):]) for i in range(-8, 9)]
→ Ссылка