Untitled
unknown
python
2 years ago
2.3 kB
9
Indexable
import random
import copy;
def create_array():
array = [0]*4;
return create_array_recursive(array, 0);
def create_array_recursive(array, i):
if(i > len(array) - 1):
return array;
array[i] = random.randint(-5,5);
return create_array_recursive(array, i + 1);
def create_matrix():
matrix = [[0,0,0],[0,0,0],[0,0,0]];
return create_matrix_recursive(matrix, 0, 0);
def create_matrix_recursive(matrix, i, j):
if(i > 2):
return matrix;
matrix[i][j] = random.randint(-5,5);
if(j == 2):
return create_matrix_recursive(matrix, i + 1, 0);
else:
return create_matrix_recursive(matrix, i, j + 1);
def print_matrix(matrix, i = 0):
if(i > 2):
return;
print(str(matrix[i][0]) + 2*"\t" + str(matrix[i][1]) + 2*"\t" + str(matrix[i][2]));
print_matrix(matrix, i + 1);
def check_score():
matrix = create_matrix();
array = create_array();
auxM = [["","",""],["","",""],["","",""]];
check_score_recursive(matrix, 0, 0, array, auxM, 0);
def check_score_recursive(matrix, counter, aux, array, auxM, count_draws):
if(counter == 5):
return final_print(aux, auxM);
if(counter > 0):
matrix[1][1] = array[counter - 1];
count = 0;
count_corners = 0;
if(matrix[1][0] + matrix[1][1] + matrix[1][2] > 10):
count += 2;
if(matrix[0][0] + matrix[0][1] + matrix[0][2] > 10):
count += 2;
if(matrix[1][1] >= (matrix[0][0] + matrix[0][2] + matrix[2][0] + matrix[2][2]) / 4 - 1 and matrix[1][1] <= (matrix[0][0] + matrix[0][2] + matrix[2][0] + matrix[2][2]) / 4 + 1):
count += 3;
if(matrix[1][1] < matrix[0][0]):
count_corners += 1;
if(matrix[1][1] < matrix[0][2]):
count_corners += 1;
if(matrix[1][1] < matrix[2][0]):
count_corners += 1;
if(matrix[1][1] < matrix[2][2]):
count_corners += 1;
if(count_corners == 2):
count -=2;
if(matrix[1][1] > matrix[0][0] and matrix[1][1] > matrix[0][2] and matrix[1][1] > matrix[2][0] and matrix[1][1] > matrix[2][2]):
count -= 3;
print_matrix(matrix, 0);
print("count " + str(count));
if(count >= aux or counter == 0):
aux = count;
auxM = copy.deepcopy(matrix);
return check_score_recursive(matrix, counter + 1, aux, array, auxM, count_draws);
def final_print(aux, auxM):
print("the biggest score is: " + str(aux));
print("it matrix is: ");
print_matrix(auxM);
check_score();Editor is loading...
Leave a Comment