Forum >> Principianti >> Ciao a tutti!

Pagina: 1

Salve, vorrei aiuto sul come creare un programmino che data una frase mi restituisca un codice criptato che segua la tabella che metto in allegato...
Grazie in anticipo a chi sarà così buono da aiutarmi!


--- Ultima modifica di Dany8966 in data 2018-01-16 14:51:34 ---
Ciao Danilo e benvenuto. :birrame:

Spiegati meglio, non ho capito. Vuoi che all'immissione di una frase, peschi da un file Excel qualcosa?

Forse sarebbe meglio se provassi a scrivere qualche riga di codice e poi ragioniamo su quella.

Ricordati alcune cose:
1. Usa il tasto code per immettere codice Python;
2. Indica sempre la piattaforma su cui ti muovi;
3. Indica anche quale versione del linguaggio stai usando.

Ciao ed ancora benvenuto.
Ciao e grazie!

Allora sono in windows 10, uso python 3.6,e le righe di codice sono una capra ahahahah. Comunque no non è quello che intendevo.




Quello che volevo dire è assegnare ad ogni lettera dell'alfabeto più stringhe, esempio: a = A1; b= A2 , B1




E vorrei che il programma pescasse random una delle possibili opzioni per ogni lettera della frase.




L'immagine era per far capire il cifrario.
Quello che volevo dire è assegnare ad ogni lettera dell'alfabeto più stringhe, esempio: a = A1; b= A2 , B1

E vorrei che il programma pescasse random una delle possibili opzioni per ogni lettera della frase.

Usa un dizionario tipo {"a": "A1, "b": "A2"... } e poi potrai usare il modulo random (ad esempio), per estrarre i dati.

Cya
Allora da quello che ho capito devo fare una cosa del genere, ma in output mi da solo una lettera e nemmeno cifrata...
Dove sbaglio? Ti ringrazio tantissimo per l'aiuto che mi stai dando!

import random
frase = input ('Scrivi la frase che vuoi cifrare...')

a = ['A1']
b = ['A2','B1']
c = ['A3','B2','C1']
d = ['A4','B3','C2','D1']
e = ['A5','B4','C3','D2','E1']
f = ['A6','B5','C4','D3','E2','F1']
g = ['A7','B6','C5','D4','E3','F2','G1']
h = ['A8','B7','C6','D5','E4','F3','G2','H1']
i = ['A9','B8','C7','D6','E5','F4','G3','H2','I1']
j = ['A10','B9','C8','D7','E6','F5','G4','H3','I2','J1']
k = ['A11','B10','C9','D8','E7','F6','G5','H4','I3','J2','K1']
l = ['A12','B11','C10','D9','E8','F7','G6','H5','I4','J3','K2','L1']
m = ['A13','B12','C11','D10','E9','F8','G7','H6','I5','J4','K3','L2','M1']
n = ['A14','B13','C12','D11','E10','F9','G8','H7','I6','J5','K4','L3','M2','N1']
o = ['A15','B14','C13','D12','E11','F10','G9','H8','I7','J6','K5','L4','M3','N2','O1']
p = ['A16','B15','C14','D13','E12','F11','G10','H9','I8','J7','K6','L5','M4','N3','O2','P1']
q = ['A17','B16','C15','D14','E13','F12','G11','H10','I9','J8','K7','L6','M5','N4','O3','P2','Q1']
r = ['A18','B17','C16','D15','E14','F13','G12','H11','I10','J9','K8','L7','M6','N5','O4','P3','Q2','R1']
s = ['A19','B18','C17','D16','E15','F14','G13','H12','I11','J10','K9','L8','M7','N6','O5','P4','Q3','R2','S1']
t = ['A20','B19','C18','D17','E16','F15','G14','H13','I12','J11','K10','L9','M8','N7','O6','P5','Q4','R3','S2','T1']
u = ['A21','B20','C19','D18','E17','F16','G15','H14','I13','J12','K11','L10','M9','N8','O7','P6','Q5','R4','S3','T2','U1']
v = ['A22','B21','C20','D19','E18','F17','G16','H15','I14','J13','K12','L11','M10','N9','O8','P7','Q6','R5','S4','T3','U2','V1']
w = ['A23','B22','C21','D20','E19','F18','G17','H16','I15','J14','K13','L12','M11','N10','O9','P8','Q7','R6','S5','T4','U3','V2','W1']
x = ['A24','B23','C22','D21','E20','F19','G18','H17','I16','J15','K14','L13','M12','N11','O10','P9','Q8','R7','S6','T5','U4','V3','W2','X1']
y = ['A25','B24','C23','D22','E21','F20','G19','H18','I17','J16','K15','L14','M13','N12','O11','P10','Q9','R8','S7','T6','U5','V4','W3','X2','Y1']
z = ['A26','B25','C24','D23','E22','F21','G20','H19','I18','J17','K16','L15','M14','N13','O12','P11','Q10','R9','S8','T7','U6','V5','W4','X3','Y2','Z1']

print (random.choice (frase))

Ciao caro, figurati.

Premetto che guardando il tuo esempio non capisco bene cosa vuoi ottenere, o meglio ho capito male. Credevo volessi attribuire ad ogni lettera di una frase che inserisci, un valore specifico, ma ora vedo che non è esattamente così e mi sfugge il senso di quello che cerchi di fare, anche perché se lo fai random come la recuperi quella cifratura? Vabbé ti espongo la mia idea e poi prendi quello che ti serve:

1. Parti da un input ricevuto: "Frase";
2. Hai già una mappatura dei valori fatta in precedenza, magari utilizzando random che sceglie tra lettere e numeri;
3. Fai un ciclo sulla frase e selezioni di volta in volta le varie lettere codificate;
4. Ottieni una cifratura;

Dai, inizia a buttare giù due righe che procediamo insieme.
Cya
Allora per capirci faccio un esempio pratico con una parola...
Il programma deve chiedere prima di tutto la frase da cifrare e sin qui ci siamo, nel momento in cui inserisco la frase me la deve restituire cifrata secondo la tabella che ho scritto sopra.

Con la a non c'è problema perchè alla "a" corrisponde solo "A1"(che è un blocco intero, non voglio distinguere tra lettera e numero), ma se inserisco la lettera "d" il programma deve darmi in output un valore random di quelli assegnati alla "d", quindi uno random tra "A4, B3, C2, D1".

Esempio se io scrivo "danilo", un possibile output del programma è: "C2A1F9H2D9J6".



Come avrai ben capito, e come esprime la mia immagine profilo sono un asino :(







--- Ultima modifica di Danilo Bacchis in data 2018-01-17 16:51:58 ---

--- Ultima modifica di Danilo Bacchis in data 2018-01-17 16:56:50 ---


--- Ultima modifica di Danilo Bacchis in data 2018-01-17 16:58:48 ---
Tipo se vuoi un dato casuale della lettere "r":
>>> from random import choice
>>> choice(r)
D15
>>> choice(r)
I10
>>> choice(r)
N5
Cya
Si questo l'ho fatto a lettere singole. Ma devo ogni volta cambiare il codice. E poi vorrei che inserendo la frase me la codifichi tutta insieme non vorrei immettere lettera per lettera.
Per la lettera r basta fare così:

import random

a = ['A1']
b = ['A2','B1']
c = ['A3','B2','C1']
d = ['A4','B3','C2','D1']
e = ['A5','B4','C3','D2','E1']
f = ['A6','B5','C4','D3','E2','F1']
g = ['A7','B6','C5','D4','E3','F2','G1']
h = ['A8','B7','C6','D5','E4','F3','G2','H1']
i = ['A9','B8','C7','D6','E5','F4','G3','H2','I1']
j = ['A10','B9','C8','D7','E6','F5','G4','H3','I2','J1']
k = ['A11','B10','C9','D8','E7','F6','G5','H4','I3','J2','K1']
l = ['A12','B11','C10','D9','E8','F7','G6','H5','I4','J3','K2','L1']
m = ['A13','B12','C11','D10','E9','F8','G7','H6','I5','J4','K3','L2','M1']
n = ['A14','B13','C12','D11','E10','F9','G8','H7','I6','J5','K4','L3','M2','N1']
o = ['A15','B14','C13','D12','E11','F10','G9','H8','I7','J6','K5','L4','M3','N2','O1']
p = ['A16','B15','C14','D13','E12','F11','G10','H9','I8','J7','K6','L5','M4','N3','O2','P1']
q = ['A17','B16','C15','D14','E13','F12','G11','H10','I9','J8','K7','L6','M5','N4','O3','P2','Q1']
r = ['A18','B17','C16','D15','E14','F13','G12','H11','I10','J9','K8','L7','M6','N5','O4','P3','Q2','R1']
s = ['A19','B18','C17','D16','E15','F14','G13','H12','I11','J10','K9','L8','M7','N6','O5','P4','Q3','R2','S1']
t = ['A20','B19','C18','D17','E16','F15','G14','H13','I12','J11','K10','L9','M8','N7','O6','P5','Q4','R3','S2','T1']
u = ['A21','B20','C19','D18','E17','F16','G15','H14','I13','J12','K11','L10','M9','N8','O7','P6','Q5','R4','S3','T2','U1']
v = ['A22','B21','C20','D19','E18','F17','G16','H15','I14','J13','K12','L11','M10','N9','O8','P7','Q6','R5','S4','T3','U2','V1']
w = ['A23','B22','C21','D20','E19','F18','G17','H16','I15','J14','K13','L12','M11','N10','O9','P8','Q7','R6','S5','T4','U3','V2','W1']
x = ['A24','B23','C22','D21','E20','F19','G18','H17','I16','J15','K14','L13','M12','N11','O10','P9','Q8','R7','S6','T5','U4','V3','W2','X1']
y = ['A25','B24','C23','D22','E21','F20','G19','H18','I17','J16','K15','L14','M13','N12','O11','P10','Q9','R8','S7','T6','U5','V4','W3','X2','Y1']
z = ['A26','B25','C24','D23','E22','F21','G20','H19','I18','J17','K16','L15','M14','N13','O12','P11','Q10','R9','S8','T7','U6','V5','W4','X3','Y2','Z1']

print (random.choice (r))



--- Ultima modifica di Danilo Bacchis in data 2018-01-23 09:21:03 ---
volendo lasciare il fatto di fare una frase intera e voler inserire una sola lettera, non mi funziona ugualmente perché in input mi da la lettera non cifrata... Cosa diavolo sbaglio??
import random

lettera = input("Inserisci la lettera! ")

a = ['A1']
b = ['A2','B1']
c = ['A3','B2','C1']
d = ['A4','B3','C2','D1']
e = ['A5','B4','C3','D2','E1']
f = ['A6','B5','C4','D3','E2','F1']
g = ['A7','B6','C5','D4','E3','F2','G1']
h = ['A8','B7','C6','D5','E4','F3','G2','H1']
i = ['A9','B8','C7','D6','E5','F4','G3','H2','I1']
j = ['A10','B9','C8','D7','E6','F5','G4','H3','I2','J1']
k = ['A11','B10','C9','D8','E7','F6','G5','H4','I3','J2','K1']
l = ['A12','B11','C10','D9','E8','F7','G6','H5','I4','J3','K2','L1']
m = ['A13','B12','C11','D10','E9','F8','G7','H6','I5','J4','K3','L2','M1']
n = ['A14','B13','C12','D11','E10','F9','G8','H7','I6','J5','K4','L3','M2','N1']
o = ['A15','B14','C13','D12','E11','F10','G9','H8','I7','J6','K5','L4','M3','N2','O1']
p = ['A16','B15','C14','D13','E12','F11','G10','H9','I8','J7','K6','L5','M4','N3','O2','P1']
q = ['A17','B16','C15','D14','E13','F12','G11','H10','I9','J8','K7','L6','M5','N4','O3','P2','Q1']
r = ['A18','B17','C16','D15','E14','F13','G12','H11','I10','J9','K8','L7','M6','N5','O4','P3','Q2','R1']
s = ['A19','B18','C17','D16','E15','F14','G13','H12','I11','J10','K9','L8','M7','N6','O5','P4','Q3','R2','S1']
t = ['A20','B19','C18','D17','E16','F15','G14','H13','I12','J11','K10','L9','M8','N7','O6','P5','Q4','R3','S2','T1']
u = ['A21','B20','C19','D18','E17','F16','G15','H14','I13','J12','K11','L10','M9','N8','O7','P6','Q5','R4','S3','T2','U1']
v = ['A22','B21','C20','D19','E18','F17','G16','H15','I14','J13','K12','L11','M10','N9','O8','P7','Q6','R5','S4','T3','U2','V1']
w = ['A23','B22','C21','D20','E19','F18','G17','H16','I15','J14','K13','L12','M11','N10','O9','P8','Q7','R6','S5','T4','U3','V2','W1']
x = ['A24','B23','C22','D21','E20','F19','G18','H17','I16','J15','K14','L13','M12','N11','O10','P9','Q8','R7','S6','T5','U4','V3','W2','X1']
y = ['A25','B24','C23','D22','E21','F20','G19','H18','I17','J16','K15','L14','M13','N12','O11','P10','Q9','R8','S7','T6','U5','V4','W3','X2','Y1']
z = ['A26','B25','C24','D23','E22','F21','G20','H19','I18','J17','K16','L15','M14','N13','O12','P11','Q10','R9','S8','T7','U6','V5','W4','X3','Y2','Z1']

print (random.choice (lettera))



Pagina: 1



Esegui il login per scrivere una risposta.