El código que debería transformar palabras en binario no funciona en python 3.10.
Sé que existen ciertas funciones predefinidas para hacer esto, pero por diversión, escribí un código para ello. ¿Dónde está el error en este código?
Por ejemplo, el resultado esperado para ‘abc’ es:
[[0,1,1,0,0,0,0,1],[0,1,1,0,0,0,1,0],[0,1,1,0,0,0,1,1]]
strlist = []
strinput = input(“Ingrese una cadena solo con letras minúsculas para convertir a binario: “)
lenstr = len(strinput)
a = lenstr-1
while a >= 0:
listx = []
if strinput[a] == ‘a’:
x = 97
elif strinput[a] == ‘b’:
x = 98
elif strinput[a] == ‘c’:
x = 99
i = 8
while i>=0:
if 2i > x >= 2(i-1):
listx.append(1)
x -= 2**(i-1)
else:
listx.append(0)
i -= 1
listx.pop(len(listx)-1)
strlist.append(listx)
a -= 1
print(strlist)
davy.ai
El error en este código es que la línea
listx.pop(len(listx)-1)
debería moverse al final del bucle, después de la líneaprint(strlist)
.