Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in 3rd party category for Cipher Map by wrak
def recall_password(cipher_grille, ciphered_password):
import numpy as np
m=cipher_grille
m = [w.replace('X', '1') for w in m]
m = [w.replace('.', '0') for w in m]
#a=list(zip(*zip(*m)))
#b= [bool(x) for x in a]
#print(b)
#matrix2=numpy.matrix(list(m))
matrix=np.array(list(zip(*zip(*m))))
haslo=np.array(list(zip(*zip(*ciphered_password))))
h=""
print(haslo[1][0])
print(matrix)
print(haslo)
for i in range(4):
for j in range(4):
if int(matrix[i][j])==1:
h=h+haslo[i][j]
print(matrix[i][j])
print(haslo[i][j])
print(matrix.dtype.name),
print(matrix)
matrix=matrix.swapaxes(-2,-1)[...,::-1]
for i in range(4):
for j in range(4):
if int(matrix[i][j])==1:
h=h+haslo[i][j]
matrix=matrix.swapaxes(-2,-1)[...,::-1]
for i in range(4):
for j in range(4):
if int(matrix[i][j])==1:
h=h+haslo[i][j]
matrix=matrix.swapaxes(-2,-1)[...,::-1]
for i in range(4):
for j in range(4):
if int(matrix[i][j])==1:
h=h+haslo[i][j]
"""
p=ciphered_password
print(matrix)
print(haslo)
print(type(matrix))
print()
print(list(matrix[0])[0])
print()
"""
print(h)
return h
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert recall_password(
('X...',
'..X.',
'X..X',
'....'),
('itdf',
'gdce',
'aton',
'qrdi')) == 'icantforgetiddqd', 'First example'
assert recall_password(
('....',
'X..X',
'.X..',
'...X'),
('xhwc',
'rsqx',
'xqzz',
'fyzr')) == 'rxqrwsfzxqxzhczy', 'Second example'
Oct. 16, 2017