Sololearn: Learn to Code
New course! Every coder should learn Generative AI!
Try a free lesson
+ 3
Ashwin Burnwal Don't use replace function because it will replace all matching character in word so just do like this: message = input().lower() alphabets = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] rev = alphabets[::-1] #print (alp) #print (rev) str = '' for i in message: if i in alphabets: str = str + rev[alphabets.index(i)] else: str = str + i print(arr)
28th May 2021, 9:19 AM
A͢J
A͢J - avatar
+ 2
Strings are immutable. You should split the string into a list then loop over it. Here is my approach anyway msg = input().lower() def encr(text): letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"] revLetters = letters[::-1] msgList = list(text) encList = [] for letter in msgList: if letter in letters: letter = revLetters [letters.index(letter)] encList.append(letter) else: encList.append(letter) scrMsg = "".join(encList) return scrMsg print(encr(msg))
28th May 2021, 9:09 AM
Mounzer