Как вставить символ в строку через каждых 4 символа в ней? Python
Всем здравствуйте, пишу программу на python, которая спрашивает у пользователя его номер карты, который я методом replace превращаю в строку с 16 элементами, хотелось бы через каждых 4 элемента вставлять пробел, чтобы номер был читабельнее
Как из '1234123412341234' получить '1234 1234 1234 1234' ?
Ответы (3 шт):
Автор решения: CrazyElf
→ Ссылка
С помощью срезов, например:
number = '1234123412341234'
number_ = ' '.join(number[i*4:(i+1)*4] for i in range(4))
print(number_)
# 1234 1234 1234 1234
Автор решения: Stanislav Volodarskiy
→ Ссылка
Срезы и шаги с помощью range:
number = '1234123412341234'
step = 4
print(' '.join(number[i:i + step] for i in range(0, len(number), step)))
Автор решения: TigerTV.ru
→ Ссылка
Вариант с zip_longest:
from itertools import zip_longest
number = '1234' * 4
length = 4
res = ' '.join(map(''.join, zip_longest(*[iter(number)] * length)))
print(res)