def recall_password(cipher_grille, ciphered_password):
password=""
#pierwsze odkodowanie:
for i in range(0,4):
for j in range(0,4):
if cipher_grille[i][j]=="X":
password=password+ciphered_password[i][j]
#pierwszy obrót:
cipher_grille=[cipher_grille[3][0]+cipher_grille[2][0]+cipher_grille[1][0]+cipher_grille[0][0],cipher_grille[3][1]+cipher_grille[2][1]+cipher_grille[1][1]+cipher_grille[0][1],cipher_grille[3][2]+cipher_grille[2][2]+cipher_grille[1][2]+cipher_grille[0][2],cipher_grille[3][3]+cipher_grille[2][3]+cipher_grille[1][3]+cipher_grille[0][3]]
#drugie odkodowanie:
for i in range(0,4):
for j in range(0,4):
if cipher_grille[i][j]=="X":
password=password+ciphered_password[i][j]
#drugi obrót:
cipher_grille=[cipher_grille[3][0]+cipher_grille[2][0]+cipher_grille[1][0]+cipher_grille[0][0],cipher_grille[3][1]+cipher_grille[2][1]+cipher_grille[1][1]+cipher_grille[0][1],cipher_grille[3][2]+cipher_grille[2][2]+cipher_grille[1][2]+cipher_grille[0][2],cipher_grille[3][3]+cipher_grille[2][3]+cipher_grille[1][3]+cipher_grille[0][3]]
#trzecie odkodowanie:
for i in range(0,4):
for j in range(0,4):
if cipher_grille[i][j]=="X":
password=password+ciphered_password[i][j]
#trzeci obrót:
cipher_grille=[cipher_grille[3][0]+cipher_grille[2][0]+cipher_grille[1][0]+cipher_grille[0][0],cipher_grille[3][1]+cipher_grille[2][1]+cipher_grille[1][1]+cipher_grille[0][1],cipher_grille[3][2]+cipher_grille[2][2]+cipher_grille[1][2]+cipher_grille[0][2],cipher_grille[3][3]+cipher_grille[2][3]+cipher_grille[1][3]+cipher_grille[0][3]]
#czwarte odkodowanie:
for i in range(0,4):
for j in range(0,4):
if cipher_grille[i][j]=="X":
password=password+ciphered_password[i][j]
return password