Форум сайта python.su
Написать программу, которая осуществляет шифрование методом простой перестановки
Офлайн
Ты пришёл по адресую щас…
Офлайн
Ты пришёл по адресую щас…
Офлайн
Чувак, просто дополни словарь,а то мне лень
p={ "a":"g","b":"o","c":"r","d":"j", "e":"u","f":"y","g":"i","h":"w"," ":"mi" } #В КЛАССЫ ВСЁ!!!!!!!!####### #Подробности в classfunc.txt word="" crypt=""#закодированное слово i=0 Entery=None l="=====I doing this=====" def wordza(word,crypt,i):#шифровальщик while True: word='' crypt='' word=input() if word=="@stop": Enter(Entery,l) elif word=='@des': crypting(word,crypt,i) else: for i in range(len(word)): for key in p: #проверка если нет ключа if not word[i] in p: print('\nЯ не могу перевести этот символ: ',word[i],'\n') Enter(Entery, l) crypt+=p[word[i]] i+=1 print(crypt) def crypting(word,crypt,i):#Разшивровальщик while True: crypt="" word="" crypt=input() if crypt=='@stop': Enter(Entery,l) elif crypt=="@enc": wordza(word,crypt,i) else: for i in range(len(crypt)): for key in p: if p[key]==crypt[i]: word+=key print(word) def Enter(Entery,l):#выбор.если что убрать print("What you want?\n1.Encrypt\n_or_\n2.Desphire\nPlease,input your num:") Entery=input() if Entery=="1":#определение выбора print("You choose the Encrypt\n",l) wordza(word,crypt,i) elif Entery=="2": print("You choose the Desphire\n",l) crypting(word,crypt,i) elif Entery=='quit': quit() else: print("Your input:",Entery,"\nIm sorry, I dont have other function.\n\n") Enter(Entery,l) Enter(Entery,l)
Офлайн
вообще лучше делать через регулярные методы(модуль re), но я что-то тупанул
Офлайн
Спасибо и на этом, а то голову сломал
Офлайн
DarkС такой помощью вам препод голову сломает. Это не тот метод что требуется.
а то голову сломал
Офлайн
from random import seed,sample def crypto(s,key): ln = len(s) seed(key) smpl = sample(range(ln),ln) out = '' for i in smpl: out += s[i] return out def encrypto(s,key): ln = len(s) seed(key) out = ['']*ln smpl = sample(range(ln),ln) for ch,i in zip(s,smpl): out[i] = ch return ''.join(out) s = (crypto('Это шыфруемый текст',1234)) print(s) print(encrypto(s,1234)) >>>т Эотйекмт ыуыршфес >>>Это шыфруемый текст
Офлайн