es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Concatenación de los elementos en dos listas en Python.

Por ejemplo, el mensaje ‘Save our Soul’ sería encriptado como: “Sv u oliaeorSu” y luego quiero descifrar “Sv u oliaeorSu” a su forma original. Ya he realizado la encriptación, pero el descifrado parece difícil. Y al final quiero concatenar elementos de ambas listas en una nueva.

Por ejemplo,

lst1=[a,c,e,g]
lst2=[b,d,f]

La lista que quiero es lst3=[a,b,c,d,e,f,g]

str1=input("Ingrese la cadena ??")
mystr=""
list1=[]
list2=[]
for i in range(len(str1)):
    if i%2==0:
        list1.append(str1[i])
    else:
        list2.append(str1[i])
list1.append("i")
encrypted="".join(map(str,list1+list2))
print("Encriptación :",encrypted)

(b) Descifrado

list3=[];list4=[]
dec1=[];dec2=[]
longitud=len(list1+list2)
for i in range(longitud):
list3.append(encrypted[i])
else:
list4.append(encrypted[i])
if “i” in (list3):
list3.pop(list3.index(“i”))
print(*list3)
longitud1=len(list3)
if longitud1%2==0:
for i in range(longitud1//2):
dec1.append(list3[i])
dec2.append(list3[i+longitud1//2])
print(dec1)
print(dec2)
decX=[]
i=0
while(i<len(dec1)): print(dec1[i],end=”” )=”” print(dec2[i],end=”” )=”” i+=”1″ else:=”” for=”” i=”” in=”” range(longitud1//2+1):=”” dec1.append(list3[i])=”” dec2.append(list3[i+longitud1//2])=”” if=”” longitud1%2!=”0:” dec2.pop(0)=”” print(dec1)=”” print(dec2)=”” i=”0″></len(dec1)):><len(dec1)):
print(dec1[i],end=””)
if len(dec2) != len(dec1):
i+=1
print(dec2[i-1],end=””)
i+=1
i-=1
print(dec1[i],end="" )="" if="" len(dec2)="" !="len(dec1):" i+="1" print(dec2[i-1],end="" )="" i+="1" i-="1"></len(dec1)):
print(dec1[i],end="")
if len(dec2) != len(dec1):
i+=1
print(dec2[i-1],end="")
i+=1
i-=1
>

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece haber un IndexError en el código proporcionado mientras se descifran y concatenan los elementos de ambas listas. Específicamente, la línea print(dec2[i-1],end="") está dando el error de “índice de lista fuera de rango”. Para solucionar este error, necesitamos cambiar la forma en que recorremos la lista dec2. Una solución posible es usar una variable de contador adicional j para iterar sobre dec2, y reiniciar su valor a 0 si excede la longitud de dec2. Aquí está el código modificado:

    “`python
    str1 = input(“Ingresa la cadena ??”)
    list1 = []
    list2 = []
    for i in range(len(str1)):
    if i % 2 == 0:
    list1.append(str1[i])
    else:
    list2.append(str1[i])
    list1.append(“i”)
    encrypted = “”.join(map(str, list1 + list2))
    print(“Encriptación:”, encrypted)

    Descifrado

    list3 = []
    list4 = []
    dec1 = []
    dec2 = []
    length = len(list1 + list2)
    for i in range(length):
    list3.append(encrypted[i])
    else:
    list4.append(encrypted[i])
    if “i” in list3:
    list3.remove(“i”)
    len1 = len(list3)
    if len1 % 2 == 0:
    for i in range(len1 // 2):
    dec1.append(li

Comments are closed.