Я хочу добавить INT KEY к значению ключа в словаре. Так что я могу получить закодированное сообщение - PullRequest
0 голосов
/ 10 апреля 2020
#Caesar cipher

#alphabets is dictionary
alphabets={'a':'1', 'b':'2' , 'c':'3' , 'd':'4' , 'e':'5' , 'f':'6' , 'g':'7' , 'h':'8' , 'i':'9' , 'j':'10' , 'k':'11' , 'l':'12' , 'm':'13' , 'n':'14' , 'o':'15' , 'p':'16' , 'q':'17' , 'r':'18' , 's':'19' , 't':'20' , 'u':'21' , 'v':'22' , 'w':'23' , 'x':'24' , 'y':'25' , 'z':'26' }

#input of key
key=(input("Enter the key for cypher\t"))

#encoding program starts

#msg input
msg=input('Enter the message you want to encode\n')

#I used to assume the input as 'hi'


#make it into a list
letters=[]

for i in msg:
    letters.append(i)
    list(letters)

numbers=[]

for i in range(0,2):      
    numbers.append(alphabets[letters[i+key]])
    print(numbers)

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Я думаю, что вы хотите сделать что-то вроде этого

#Caesar cipher

#alphabets is dictionary
alphabets={'a':1, 'b':2 , 'c':3 , 'd':4 , 'e':5 , 'f':6 , 'g':7 , 'h':8 , 'i':9 , 'j':10 , 'k':11 , 'l':12 , 'm':13 , 'n':14, 'o':15 , 'p':16 , 'q':17 , 'r':18 , 's':19 , 't':20 , 'u':21 , 'v':22 , 'w':23 , 'x':24 , 'y':25 , 'z':26 }

#input of key
key=int(input("Enter the key for cypher\t"))

#encoding program starts

#msg input
msg=input('Enter the message you want to encode\n')

#I used to assume the input as 'hi'


#make it into a list
letters=[]

for i in msg:
    letters.append(i)
    list(letters)


numbers=[]

for i in range(0,len(letters)):      
    numbers.append(alphabets[letters[i]]+key)

print(numbers)

Вы также можете добавить следующий код для завершения Ceasar Cipher

alphabets = dict([(value, key) for key, value in alphabets.items()]) 

cipher = ''
for i in numbers:
    cipher += alphabets[i]

print(cipher)
0 голосов
/ 10 апреля 2020

Если вы хотите сдвинуть персонажей и купить заданное вами число, вы можете использовать: ord и chr, нет необходимости использовать дикт.

ord('a')  # gives you 97 (ASCII)

Таким образом, чтобы сдвинуть персонажа 2 для примера вы можете сделать что-то вроде этого

key = 2
char(ord('a') + key))  # gives you 'c'

Теперь вы можете просто go через ваше сообщение и сдвигать каждый символ.

...