Python cifrario
Dovrei creare un progetto in cui riprodurre il cifrario di cesare con una definizione di funzione con tre argomenti che sono il primo un messaggio di testo che si inserisce da tastiera, il secondo una chiave che sarebbe il numero di lettere di cui si deve spostare per creare il messaggio cifrato e il terzo valore il verso destra o sinistra dello spostamento. Come implementarlo in generale? Io ho messo dei simboli in un if per implementare la scelta destra o sinistra per esempio...
Risposte
Inizia postando la tua soluzione.. Non è comunque necessario usare degli if. Devi infatti semplicemente usare l'operazione di modulo.
l'operazione di modulo %26 giusto? Mi ricordate perché? Cioè, % so che fa la divisione e restituisce il resto, ovviamente 26 sta per le 26 lettere dell'alfabeto... ma come lo applico al fatto che devo ruotare o a destra o a sinistra in un range di codici ascii delle lettere alfabetiche (c'è da dire che ci sono pure lettere maiuscole e minuscole e che comunque per facilitare le cose potrei trasformarle tutte in lettere minuscole e dopo fare il calcolo...) p.s. ovviamente dovrò usare ord e chr
Non devi solo fare il modulo:
Un numero positivo muove verso destra, uno negativo a sinistra.
chr( ord('a') + (ord(c) + step)%26))
Un numero positivo muove verso destra, uno negativo a sinistra.