у меня решилось таким способом
# vujgvmCfb tj ufscfu ouib z/vhm jdjuFyqm jt fscfuu uibo jdju/jnqm fTjnqm tj scfuuf ibou fy/dpnqm yDpnqmf jt cfuufs boui dbufe/dpnqmj uGmb tj fuufsc ouib oftufe/ bstfTq jt uufscf uibo otf/ef uzSfbebcjmj vout/dp djbmTqf dbtft (ubsfo djbmtqf hifopv up csfbl ifu t/svmf ipvhiBmu zqsbdujdbmju fbutc uz/qvsj Fsspst tipvme wfsof qbtt foumz/tjm omfttV mjdjumzfyq odfe/tjmf Jo fui dfgb pg hvjuz-bncj gvtfsf fui ubujpoufnq up ftt/hv Uifsf vmetip fc pof.. boe sbcmzqsfgf zpom pof pvt..pcwj xbz pu pe ju/ Bmuipvhi uibu bzx bzn puo cf wjpvtpc bu jstug ttvomf sfzpv( i/Evud xOp tj scfuuf ibou /ofwfs uipvhiBm fsofw jt fopgu cfuufs boui iu++sjh x/op gJ ifu nfoubujpojnqmf tj eibs pu mbjo-fyq tju( b bec /jefb Jg fui foubujpojnqmfn jt fbtz up bjo-fyqm ju znb cf b hppe jefb/ bnftqbdftO bsf pof ipoljoh sfbuh efbj .. fu(tm pe psfn gp tf"uip
def code_shift(f_str, f_shift):
for i_ in range(f_shift):
f_str = f_str[-1:] + f_str[:-1]
return f_str
def code_caesar(f_str, f_shift):
code_str = ''
for i_ in f_str:
if i_ in my_set:
new_char = (my_set.index(i_) + f_shift) % 52
code_str += my_set[new_char]
else:
code_str += i_
return code_str
def code_sep(f_str):
temp_str = ''
for i_word in f_str:
first_code = code_shift(i_word, shift_1)
temp_str += code_caesar(first_code, shift_2) + ' '
return temp_str
end_str = True
list_letter = [i_ for i_ in range(ord('A'), ord('A') + 26)] + [i_ for i_ in range(ord('a'), ord('a') + 26)]
my_set = [chr(int(i_)) for i_ in list_letter]
my_list = input('Введите сообщение: ').split(sep=' ')
shift_1 = int(input('Введите сдвиг символов (3): '))
shift_2 = int(input('Введите сдвиг Цезаря (-1): '))
while end_str:
run_decode = code_sep(my_list)
shift_1 += 1
next_str = run_decode[:run_decode.find('/')]
print(next_str)
for i_del in range(0, len(next_str.split(sep=' '))):
my_list.pop(0)
if len(my_list) == 0:
end_str = False