Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
For all squares solution in Uncategorized category for The Square Chest by Timmy72
def checkio(l):
"""Return the qantity of squares"""
[a.sort() for a in l]
n = 0
for size in range(1,4):
for x in range(1,12):
if all([x+i,x+i+1] in l for i in range(size)) and \
all([x+i*4,x+(i+1)*4] in l for i in range(size)) and \
all([x+size*4+i,x+size*4+i+1] in l for i in range(size)) and \
all([x+size+i*4,x+size+(i+1)*4] in l for i in range(size)):
n += 1
return n
if __name__ == '__main__':
assert (checkio([[1,2],[3,4],[1,5],[2,6],[4,8],[5,6],[6,7],
[7,8],[6,10],[7,11],[8,12],[10,11],
[10,14],[12,16],[14,15],[15,16]]) == 3) , "First, from description"
assert (checkio([[1,2],[2,3],[3,4],[1,5],[4,8],
[6,7],[5,9],[6,10],[7,11],[8,12],
[9,13],[10,11],[12,16],[13,14],[14,15],[15,16]]) == 2), "Second, from description"
assert (checkio([[1,2], [1,5], [2,6], [5,6]]) == 1), "Third, one small square"
assert (checkio([[1,2], [1,5], [2,6], [5,9], [6,10], [9,10]]) == 0), "Fourth, it's not square"
assert (checkio([[16,15], [16,12], [15,11], [11,10],
[10,14], [14,13], [13,9]]) == 0), "Fifth, snake"
Nov. 21, 2012
Comments: