From 924d0a0552b919f908d2ec4752d9ddb7066a4cb1 Mon Sep 17 00:00:00 2001 From: Daniel Ingram Date: Mon, 19 Mar 2018 11:26:47 -0400 Subject: [PATCH] Added xrange compatibility for Python 3 --- Project Euler/Problem 11/sol1.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Project Euler/Problem 11/sol1.py b/Project Euler/Problem 11/sol1.py index d432148f..b882dc44 100644 --- a/Project Euler/Problem 11/sol1.py +++ b/Project Euler/Problem 11/sol1.py @@ -24,6 +24,11 @@ What is the greatest product of four adjacent numbers (horizontally, vertically, 01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48 ''' +try: + xrange #Python 2 +except NameError: + xrange = range #Python 2 + def largest_product(grid): nColumns = len(grid[0]) nRows = len(grid) @@ -33,8 +38,8 @@ def largest_product(grid): rlDiagProduct = 0 #Check vertically, horizontally, diagonally at the same time (only works for nxn grid) - for i in range(nColumns): - for j in range(nRows-3): + for i in xrange(nColumns): + for j in xrange(nRows-3): vertProduct = grid[j][i]*grid[j+1][i]*grid[j+2][i]*grid[j+3][i] horzProduct = grid[i][j]*grid[i][j+1]*grid[i][j+2]*grid[i][j+3] @@ -58,6 +63,6 @@ if __name__ == '__main__': for line in file: grid.append(line.strip('\n').split(' ')) - grid = [[int(i) for i in grid[j]] for j in range(len(grid))] + grid = [[int(i) for i in grid[j]] for j in xrange(len(grid))] print(largest_product(grid)) \ No newline at end of file