Oct-03-2019, 04:44 PM
I coded the following program to translate a string using a cipher dictionary:
What better ways could I have used to solve this?
Thanks!
CIPHER_DICT = {'e': 'u', 'b': 's', 'k': 'x', 'u': 'q', 'y': 'c', 'm': 'w', 'o': 'y', 'g': 'f', 'a': 'm', 'x': 'j', 'l': 'n', 's': 'o', 'r': 'g', 'i': 'i', 'j': 'z', 'c': 'k', 'f': 'p', ' ': 'b', 'q': 'r', 'z': 'e', 'p': 'v', 'v': 'l', 'h': 'h', 'd': 'd', 'n': 'a', 't': ' ', 'w': 't'} print(' This is a cipher program, which translates text as directed by cipher_dict:') print(CIPHER_DICT) print(' We will operate on:') print() str1 = 'the quick brown fox jumped over the lazy dog' #Substituted lower for upper case t as first letter print('', str1) print() count = 0 liststr1 = list(str1) #gets list of characters in string for letter in liststr1: newval = CIPHER_DICT[letter] liststr1[count] = newval count = count + 1 #using list index to rewrite list print(' Translated string list is: ',liststr1) print() print(" In English, that is:","".join(liststr1)) #converting back to listI'm a newbie so I'm thinking that is quite inefficient. I took a string, converted to list, and went back to string.
What better ways could I have used to solve this?
Thanks!