Stack Overflow en español Asked by Donato77 on October 12, 2020
Lo siguiente es una función que realiza el cifrado cesar:
def caesar(s, k, decode = False):
trans = dict(zip(abc,abc[(k,26-k)[decode]:] + abc[:(k,26-k)[decode]]))
return ''.join(trans[L] for L in s.upper() if L in abc)
La parte que se me complica es abc[(k,26-k)[decode]:] segun entiendo se trataria de un diccionario corrijanme si no es asi; a lo que voy es (k,26-k) que tipo de declaracion o lo que sea es esta?. Tambien quisiera saber cual es la diferencia entre por poner un ejemplo entre [k:] y [:k].
Y perdon es que estoy empezando a aprender python.
Respecto a la parte de la sintaxis [k:]
y [:k]
se refiere a un tema llamado "slicing" el cual te sirve para obtener secuencias o subarreglos de otro arreglo donde la notación es la siguiente:
arreglo[inicio:final:saltos]
Si tu no especificas el inicio, Python lo tomará desde la entrada 0, es decir
arreglo[:final:saltos] = arreglo[0:final:saltos]
Análogamente si no especificas el final, se interpretará que se hará el slicing hasta la última entrada, así como si no especificas los saltos, te recorrerá el arreglo de uno por uno, pero pondré un ejemplo para que se entienda. Recuerda nada más que para el inicio, la entrada que quieres, supongamos k
, Python la toma como k-1
, mientras que el final lo toma como k
.
>>> l1 = [1,2,3,4,5,6]
>>> l1[:]
[1,2,3,4,5,6]
>>> l1[2:]
[3,4,5,6]
>>> l1[:3]
[1,2,3]
>>> l1[2:5]
[3,4,5]
Answered by AntonioHM on October 12, 2020
1 Asked on August 26, 2021 by hctor
1 Asked on August 26, 2021 by ricardo-sauceda
0 Asked on March 15, 2021 by victor-godoy
1 Asked on March 15, 2021 by guillermo-bez-ramos
1 Asked on March 7, 2021 by liam
1 Asked on March 6, 2021 by hector-ramos
1 Asked on March 5, 2021 by ivan-caballero-cano
3 Asked on March 4, 2021 by francisco-guillermo-herrera-ga
3 Asked on March 3, 2021 by bell
1 Asked on March 3, 2021 by yeikerdev
0 Asked on March 3, 2021
1 Asked on March 2, 2021 by daniel-sandoval
1 Asked on March 1, 2021 by roberto-carlos
1 Asked on March 1, 2021 by jonathan-ch
1 Asked on March 1, 2021 by richard-mancilla
0 Asked on February 28, 2021 by xowos
Get help from others!
Recent Questions
Recent Answers
© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP, SolveDir