triangle = [] f = open('018.txt', 'r') for line in f: line.rstrip('\n') row_str = line.split(' ') row_int = [ int(x) for x in row_str ] triangle.append(row_int) f.close() for i in range(1, len(triangle)): rowlen = len(triangle[i]) triangle[i][0] += triangle[i-1][0] triangle[i][rowlen-1] += triangle[i-1][rowlen-2] for j in range(1, rowlen-1): triangle[i][j] += max(triangle[i-1][j-1], triangle[i-1][j]) print max(triangle[-1])