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

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” Не спрашивайте что это такое, я не знаю, препод так написал.
terabayt
ну если я правильно понял задание, то как-то так
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))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB