2 years ago

#20544

test-img

GrowingDevil

Replace function not working properly - Python

I am trying to make a decoder software for NDev's ENcoder software, but the replace function is not working properly, here is my code:

binToChar = {
  1:"a",
  10:"b",
  11:"c",
  100:"d",
  101:"e",
  110:"f",
  111:"g",
  1000:"h"
}

def cipToBin(text):
  txtArr = text.split(" ")
  alph1="a b c d e f g h j k l m n p q r s t u v w x y z - "+"a b c d e f g h j k l m n p q r s t u v w x y z".upper()
  alph = alph1.split(" ")
  binaNum = []
  for x1 in txtArr:
    for x2 in alph:
      binaNum.append(x1.replace(x2,""))
  return binaNum

def binToWrd(binaNum):
  wrdArr = []
  for x in binaNum:
    binToChar[x] = binToChar[x].replace("I", "1")
    binToChar[x] = binToChar[x].replace("i", "1")
    binToChar[x] = binToChar[x].replace("O", "0")
    binToChar[x] = binToChar[x].replace("o", "0")
    
    wrdArr.append(binToChar[x])
  wrd = "".join(wrdArr)
  return wrd

binNum = cipToBin(input(":"))
print(binNum)
word = binToWrd(binNum)
print(word)

and this is what is returned for the above program:

['Info', 'Info', 'Info', 'Info', 'Info', 'Ino', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Ifo', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Info', 'Intel', 'Intel', 'Intel', 'Intel', 'Intl', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Inte', 'Intel', 'Itel', 'Intel', 'Intel', 'Intel', 'Intel', 'Inel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Intel', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stoln', 'Ino-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stoen', 'Info-stolen', 'Ifo-stole', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-tolen', 'Info-solen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Infostolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen', 'Info-stolen']
Traceback (most recent call last):
  File "main.py", line 36, in <module>
    word = binToWrd(binNum)
  File "main.py", line 25, in binToWrd
    binToChar[x] = binToChar[x].replace("I", "1")
TypeError: list indices must be integers or slices, not str

after I entered Info Intel Info-Stolen .I don't understand and I have searched far and wide but couldn't find anything.

python

encryption

replace

typeerror

decoder

0 Answers

Your Answer

Accepted video resources