Форум сайта python.su
16
terabaytДля разбора, как и что работает, я его оставлю )))
та весь код ошибка))
Офлайн
1
Вот такой вариант, если я правильно понял задание:
b = [] a = ['1','2','3','4','5','7','8','10','12','15','21','22','23','24'] d_int = len(a) // 3 [b.append(int(x)) for x in a if int(x) not in b] print('{0[0]}-{0[3]}, {1}, {2[0]}-{2[3]}'.format(b[:d_int:], ''.join(str(b[d_int:-d_int])).strip("]["), b[-d_int:]))
Отредактировано ivsatel (Март 16, 2015 18:59:41)
Офлайн
16
ivsatel
>>> b = [] >>> a = ['1','2','3','4','5','7','8','10','12','15','21','22','23','24'] >>> d_int = len(a) // 3 >>> [b.append(int(x)) for x in a if int(x) not in b] [None, None, None, None, None, None, None, None, None, None, None, None, None, None] >>> print('{0[0]}-{0[3]}, {1}, {2[0]}-{2[3]}'.format(b[:d_int:], ''.join(str(b[d_int:-d_int])).strip ("]["), b[-d_int:])) 1-4, 5, 7, 8, 10, 12, 15, 21-24 >>>
Shaman
l = ['1','2','3','4','5','7','8','10','12','15','21','22','23','24'] def rf(a, b): if abs(int(a[-1]) - int(b)) == 1: if len(a) > 1 and a[-2] == '-': a[-1] = b return a return a + ['-', b] return a + [',', b] print ''.join(reduce(rf, l[1:], [l[0]]))
Отредактировано Stright (Март 17, 2015 08:58:21)
Офлайн