Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import *
- NumMagico = 34
- n = 4
- def popola(n):
- lista = []
- while len(lista)<n**2:
- num =int(input(" Inserisci i numeri da 1 a 16 "))
- lista.append(num)
- return lista
- def quadrato(lista):
- square = []
- square.append(lista[:4])
- square.append(lista[4:8])
- square.append(lista[8:12])
- square.append(lista[12:16])
- return square
- def controlloRighe(square,n):
- ctrl = 0
- total = 0
- for i in range(0,n-1):
- for j in range (0,n-1):
- total = total + square [i][j]
- if total == NumMagico :
- ctrl += 1
- else : ctrl = 0
- return ctrl
- def controlloColonna(square,n):
- ctrl = 0
- total = 0
- for n in range(0,3):
- for m in range (0,n-1):
- total = total + square [m][n]
- if total == NumMagico :
- ctrl += 1
- else : ctrl = 0
- return ctrl
- def controlloDiagonale(square,n):
- ctrl = 0
- total = 0
- for i in range (0,n-1):
- total = total + square [i][i]
- if total == NumMagico :
- ctrl += 1
- else : ctrl = 0
- return ctrl
- def visualizza(matrice,n):
- for riga in matrice:
- print (riga)
- def controlloMatrice():
- lista = popola(n)
- #square = quadrato(lista)
- trovato = " "
- while trovato != " si ":
- square = quadrato(lista)
- r = controlloRighe(square,n)
- c = controlloColonna(square,n)
- #d = controlloDiagonale(square,n)
- if (r+c) == 8:
- trovato = " si "
- visualizza(square,n)
- else:
- trovato = " no "
- print("NO")
- shuffle(lista)
- controlloMatrice()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement