Forum
>>
Principianti
>>
Problema matrici e numpy
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da giuseppe giarratana |
2019-06-28 18:32:17 - Problema matrici e numpy
|
Ragazzi ho scritto questo programmino per cifrare stringhe con l'Hill.
in uno dei commenti del codice indico il problema e dopo il codice stesso vi spiego il problema: # creare la matrice n * n import numpy as np ordine_matrice = int(input("inserisci l'ordine della matrice: ")) forma_chiave = (ordine_matrice, ordine_matrice) mini_forma_chiave = (ordine_matrice - 1, ordine_matrice - 1) print(forma_chiave) chiave = np.ndarray(forma_chiave) for i in range(ordine_matrice): for j in range(ordine_matrice): chiave[i,j] = int(input("Inserisci valore matrice nella posizione " "[{},{}]".format(i,j))) # converto gli elementi in interi chiave = chiave.astype(np.int64) print("Stampa chiave int:") print(chiave) # inserisco il testo testo = str(input("Inserisci il testo da cryptare: \n")) testo = testo.replace(" ","") testo = testo.replace(",","") testo = testo.replace(":","") testo = testo.replace(";","") testo = testo.replace(".","") diff = ordine_matrice - (len(testo) % ordine_matrice) if len(testo) % ordine_matrice != 0: for o in range(diff): testo = testo + 'x' print(testo) lettere = "abcdefghijklmnopqrstuvwxyz" #fase di encryption lista_testo = [] alfabeto = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"] for q in range(len(testo)): lista_testo.append(testoq) print("lista: ", lista_testo) # converto gli elementi della lista con numeri ad essi corrispondenti for k in range(len(lista_testo)): for l in range(len(alfabeto)): if lista_testok == alfabetol: print("ciao") lista_testok = l else: continue print("nuova lista: ", lista_testo) lista_testo = np.vstack(lista_testo) print("lista testo", lista_testo) len_lista_testo = int(len(lista_testo) / 2) f2l = lista_testo[:2] """ print("tipo f2l: ", type(f2l)) chiphertext = np.dot(chiave, f2l) print(chiphertext) """ # QUI C'E' IL PROBLEMA. for i in range(len_lista_testo): chiphertext = np.dot(chiave, f2l) for x in range(2): lista_testo = np.delete(lista_testox, x) # non mi elimina i primi 2 # elementi del vettore colonna print(lista_testo) continue print(chiphertext) il problema come vedete è nell'ultimo for. Non capisco come eliminare i primi due elementi del vettore colonna. come faccio? |
Pagina: 1
Esegui il login per scrivere una risposta.