2 years ago
#20544
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