Ваша проблема, по сути, такова, Учитывая список [a,b,c,d,e,f,.....]
, где a, b, c, d, e, f, .... являются целыми числами. Как получить строку с шаблоном покрытия a:b!c&d:e!f&....
. Для этого вы можете просто проверить остаток индекса каждого целого числа с помощью 3 и отформатировать его соответствующим образом.
def format_str(numbers):
result= ''
for i in range(len(numbers)):
if i%3 == 0:
result += str(numbers[i])+':'
elif i%3 == 1:
result += str(numbers[i])+'!'
else:
result += str(numbers[i]+'&'
return result
РЕДАКТИРОВАТЬ
Если вы хотите, чтобы к последнему номеру не добавлялся какой-либо специальный символ, вы можете просто вставить условие, подобное этому
def format_str(numbers):
result = ''
postfix = ''
for i in range(len(numbers)):
if i == len(numbers) - 1:
postfix = ''
elif i%3 == 0:
postfix = ':'
elif i%3 == 1:
postfix = '!'
else:
postfix = '&'
result += str(numbers[i])+postfix
return result