Red de conocimiento informático - Problemas con los teléfonos móviles - Python escribió una ecuación magic_square(input_file).

Python escribió una ecuación magic_square(input_file).

El siguiente es un código de muestra que implementa la función magic_square(), que leerá un archivo de entrada que contiene datos de una tabla de 4x4 y verificará si la tabla es una matriz de cubo de Rubik:

Big Python

Def magic_square(input_file): #Leer el archivo de entrada.

Utilice open(input_file, 'r') como f:

Data = f.read() #Convierte la cadena en una lista bidimensional.

Tabla = [lista (mapa (int, fila. split(', ')) de filas en datos. Strip(). split ('\n')] #Calcula cada fila, cada columna y dos La suma de las diagonales

sums =[Sum(fila por fila en la tabla]#La suma de cada fila

sums =[Sum(col)for col in zip(* table)]#La suma de cada columna

Sum. append(sum(table[I][I]for I in range(4))#La suma de la diagonal principal.

Suma. Agregar (suma(Tabla[I][3-I] de I en el rango (4))#Suma de subdiagonales

#Juzga si cada cantidad es igual.

Devuelve todo(x == sumas[0] para x en sumas)

En el código anterior, primero leemos el archivo de entrada y lo convertimos en una lista bidimensional. La suma de cada fila, columna y dos diagonales se calcula por separado y se almacena en la lista de sumas. Finalmente, usamos la función all() para determinar si cada elemento en la lista de sumas es igual al primer elemento, devuelve Verdadero. de lo contrario, devuelve False

Si desea utilizar la función anterior para verificar si la tabla en el archivo de entrada input.txt es una matriz del Cubo de Rubik, puede llamar a esta función de la siguiente manera:

resultado del código de copia de Python = magic _ square(' input . txt ')print(resultado)

Donde input.txt es la ruta al archivo de entrada que contiene los datos de la tabla si la tabla es de Rubik cube. Matrix, la función devuelve True; de ​​lo contrario, devuelve False

.