Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 26, 2014 20:41:30

ellinishe
Зарегистрирован: 2014-12-16
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите решить 2ю лабу по Python

Завтра экзамен, нужно внести изменения в лабораторную, чтоб засчитали. Помогите пожалуйста, не шарю в питоне совсем…
Вот собственно исходное задание и код:
Взлом шифра Цезаря. На вход подается закодированная строка, на выходе в цикле выводятся расшифрованные сообщения, алфавитами, полученными последовательным перебором.

alphabet = ‘abcdefghijklmnopqrstuvwxyz’

def iterate_str(n, s):
for i in range(1, n+1):
result = “”
for ch in s:
if (ch != ‘ ’):
index = alphabet.find(ch) + i
if (index >= len(alphabet)):
index -= len(alphabet)
result += “”.join(alphabet)
else:
result += “ ”
print(i, “ || ”, result)


s = input(“Введите строку: ”)

iterate_str(len(alphabet), s)

Что нужно сделать по индивидуальному заданию:
“Расшифровщик для разных инкрементов 1-26” Не спрашивайте что это такое, я не знаю, препод так написал.

Отредактировано ellinishe (Дек. 26, 2014 20:43:13)

Прикреплённый файлы:
attachment 4.py (439 байт)

Офлайн

#2 Дек. 26, 2014 21:32:46

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Помогите решить 2ю лабу по Python

ну если я правильно понял задание, то как-то так

alphabet = 'abcdefghijklmnopqrstuvwxyz'
def iterate_str(n, s):
  for i in range(1, n+1):
    result = ""
    for ch in s:
      if (ch != ' '):
        index = alphabet.find(ch) + i
        if (index >= len(alphabet)):
          index -= len(alphabet)
        result += "".join(alphabet[index])
      else:
        result += " "
    print(i, " || ", result)
s = input("Введите строку: ")
iterate_str(len(alphabet), s)
#все что ниже это уже индивидуальное задание
def ind_task(a, s, k):
    return ''.join([(a[(a.find(i) + k) % len(a)]) if i != ' ' else ' ' for i in s])
k = int(input("Введите k: "))
print(ind_task(alphabet, s, k))



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Дек. 26, 2014 21:32:56)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version