Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.02 KB | None | 0 0
  1. def split_by_range(numbers):
  2.     result = []
  3.     tmp = []
  4.  
  5.     last_number = numbers.pop(0)
  6.     tmp.append(last_number)
  7.  
  8.     split_flag = False
  9.     for number in numbers:
  10.  
  11.         # print result
  12.         if number - last_number == 1:
  13.             # just next step
  14.             if not split_flag:
  15.                 # result.append('-')
  16.                 split_flag = True
  17.         else:
  18.             # new number in range
  19.             if split_flag:
  20.                 print '! %s' % tmp
  21.                 tmp.append(last_number)
  22.                 split_flag = False
  23.                 result.append('-'.join([str(x) for x in tmp]))
  24.  
  25.             else:
  26.                 print 'clear %s' % tmp
  27.                 result.extend(tmp)
  28.  
  29.             tmp = []
  30.             tmp.append(number)
  31.  
  32.         last_number = number
  33.  
  34.     if split_flag:
  35.         tmp.append(last_number)
  36.         result.append('-'.join([str(x) for x in tmp]))
  37.     else:
  38.         result.append(last_number)
  39.  
  40.     # result = ''.join((str(x) for x in result))
  41.  
  42.     return result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement