Добавить точки к числу для украшения

Надо сделать так, чтобы к числу для украшения добавлялись точки. Например: дается число 1000000000000, программа должна выдать 1.000.000.000.000 В принципе кое-что я уже сделал:

print(stroka)
obr = 3
for i in range(len(stroka)//3):
    stroka = stroka[ : -obr]
    n = i
for i in range(n+1):
    stroka = str(stroka) + '.' + '000'
print(stroka)
print(stroka.replace('.', ''))

# И эта программа выдает правильно, но когда я прибавляю еще один ноль, то она выдает .000.000.000.000.000

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

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

как вариант, может в ответах по ссылке такого нет

def task(number):
    number = str(number)[::-1]
    result = ''
    for i, num in enumerate(number):
        if i % 3 == 0:
            result += '.'
        result += num
    result = result[::-1][:-1]
    return result

print(task(10043242500000)) # 10.043.242.500.000
print(task(100))            # 100
print(task(1))              # 1
print(task(10000))          # 10.000
→ Ссылка
Автор решения: gil9red

Можно попробовать так:

print("{:,}".format(1000000000000))
# 1,000,000,000,000

print("{:,}".format(1000000000000).replace(',', '.'))
# 1.000.000.000.000
→ Ссылка