@RedSkyNet

Python как разбить числовой ряд в строке разделителями?

str = 336103717420394750915250079894388700375458014765342093064130

Нужно разбить строку разделителями через каждые 10 чисел, чтобы получилось:

str = 3361037174,2039475091,5250079894,3887003754,5801476534,2093064130
  • Вопрос задан
  • 506 просмотров
Решения вопроса 1
yarkov
@yarkov
Помог ответ? Отметь решением.
source = '336103717420394750915250079894388700375458014765342093064130'

def chunks(l, n):
	for i in range(0, len(l), n):
		yield l[i:i + n]


target = ','.join(['%s' % (''.join(s)) for s in chunks(source, 10)])

print(target)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@fdrwitch
Здесь слова числовой ряд неспроста!! И обОзван ряд как бы тИповым именем? (т.е. нефига со строками связываться)....
Тогда по-тупому получается так (улУчшите сами, если найдете как):
>>> str = 336103717420394750915250079894388700375458014765342093064130
>>> str6out = str % (10**10)
>>> str6out
2093064130 # последняя десятка
>>> str5 = (str - str6out) // (10**10)
>>> str5
33610371742039475091525007989438870037545801476534
>>> str5out = str5 % (10**10)
>>> str5out
5801476534 # предпоследняя десятка
>>> str4out = str5 % (10**10)
>>> str4out
5801476534
>>> str3 = (str4 - str4out) // (10**10)
>>> str3
336103717420394750915250079894
>>> str3out = str3 % (10**10)
>>> str3out
5250079894
>>> str2 = (str3 - str3out) // (10**10)
>>> str2out = str2 % (10**10)
>>> str2out
2039475091
>>> str1 = (str2 - str2out) // (10**10)
>>> str1out = str1 % (10**10)
>>> str1
3361037174
>>> print(str1out, str2out, str3out, sre4out, str5out, str6out, sep=",")
3361037174,2039475091,5250079894,3887003754,5801476534,2093064130
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы