Help me write better Code

sssdevelop sssdevelop at gmail.com
Wed Jul 9 10:27:46 EDT 2014


Hello,

I have working code - but looking for better/improved code. Better coding practices, better algorithm :) 

Problem: Given sequence of increasing integers, print blocks of consecutive integers. 

Example: 

Input: [10, 11, 12, 15]
Output: [10, 11, 12]

Input: [51, 53, 55, 67, 68, 91, 92, 93, 94, 99]
Outout: [67, 68], [91, 92, 93, 94]
 
My code looks as below: 
-----------------------------
#!/usr/bin/python
a = [51, 53, 55, 67, 68, 91, 92, 93, 94, 99]
#a = []
#a = [10]
#a = [10, 11, 12, 15]
print "Input: "
print  a

prev = 0
blocks = []
tmp = []
last = 0
for element in a:
   if prev == 0:
      prev = element
      next
   if element == prev + 1:
       if tmp:
           pass
       else:
           tmp.append(prev)
       tmp.append(element)
   else:
       if tmp:
          blocks.append(tmp)
       tmp = []

   prev = element

if tmp:
    blocks.append(tmp)

if blocks:
    #print "I have repeated elements and those are:"
    for b in blocks:
        print b

-----------------------

thank you in advance!












More information about the Python-list mailing list