0 / 0 / 0
Регистрация: 12.04.2021
Сообщений: 21

Шифровка

12.04.2021, 19:13. Показов 11909. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Шифровка
Стало известно, что противник шифрует текст следующим образом. Сначала определяется количество букв в самом длинном слове, его длину обозначим k (словом называется непрерывная последовательность английских букв, слова друг от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем каждая английская буква заменяется на букву, стоящую в алфавите на k букв ранее (алфавит считается циклическим, то есть перед буквой A стоит буква Z). Другие символы остаются неизменными. Строчные буквы при этом остаются строчными, а заглавные — заглавными. Расшифруйте найденную шифровку.

Входные данные

На вход программе подается текст шифровки, состоящей не более чем из 250 символов.

Выходные данные

Выведите исходный текст.

Примеры
Ввод
Вывод
Zb Ra Ca Dab Ra.
Ce Ud Fd Gde Ud.
не понимаю что делать
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2021, 19:13
Ответы с готовыми решениями:

шифровка
Стало известно, что противник шифрует текст следующим образом. Сначала определяется количество букв в самом длинном слове, его длину...

Шифровка
Стало известно, что противник шифрует текст следующим образом. Сначала определяется количество букв в самом длинном слове, его длину...

Шифровка
Шифровка Стало известно, что противник шифрует текст следующим образом. Сначала определяется количество букв в самом длинном слове, его...

40
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
13.04.2021, 21:53
Студворк — интернет-сервис помощи студентам
Дык это шифр Цезаря)
ну, тогда ...
Python
1
2
3
4
5
6
7
8
9
10
11
12
def ave(l, mstr):
    for i in mstr:
        mlist.append(alpha[(alpha.find(i) + l) % len(alpha)])
    print('Result: ', '"', ''.join(mlist), '"', sep='')
 
 
if __name__ == '__main__':
    l = int(input())
    mstr = input()
    alpha = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
    mlist = []
    ave(l, mstr)
0
0 / 0 / 0
Регистрация: 12.04.2021
Сообщений: 21
13.04.2021, 21:59  [ТС]
Dax, так там английские буквы! Интересно, что будет, если изменить на латиницу... Попробую...
0
4 / 4 / 0
Регистрация: 20.03.2021
Сообщений: 54
14.04.2021, 02:00
Dimakonuhov17, получилось? у меня никак...(((
0
0 / 0 / 0
Регистрация: 22.02.2021
Сообщений: 3
14.04.2021, 09:53
у меня тоже
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
14.04.2021, 10:30
GorodetskiyKP, выдает True для любого алфавита
Python
1
if letter.isalpha():
1
 Аватар для GorodetskiyKP
139 / 97 / 48
Регистрация: 22.10.2012
Сообщений: 234
14.04.2021, 12:25
Ок.. заменил метод isalpha() на поиск по таблице символов.. латинские символы во всех кодировках стоят на тех же местах?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
text = input()
 
alphabetical = [letter for letter in text if (65 <= ord(letter) <= 122) or letter == ' ']
k = max(map(len, ''.join(alphabetical).split()))
 
letters = []
 
for letter in text:
    if 65 <= ord(letter) <= 122:
        alph_index = ord("A") if letter.istitle() else ord("a")
        letters.append(chr((ord(letter) - alph_index + k) % 26 + alph_index))
    else:
        letters.append(letter)
 
print("".join(letters))
1
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
14.04.2021, 12:33
GorodetskiyKP, лучше тогда
Python
1
if 97 <= ord(letter.lower()) <= 122:
Между строчными и прописными еще 6 других символов
1
 Аватар для GorodetskiyKP
139 / 97 / 48
Регистрация: 22.10.2012
Сообщений: 234
14.04.2021, 14:27
Gdez, да.. увидел. Спасибо!
0
4 / 4 / 0
Регистрация: 20.03.2021
Сообщений: 54
14.04.2021, 16:43
GorodetskiyKP, уважаемый подскажите какой код пропускает проверщик? Пробовали вот так
Python
1
2
3
4
5
6
7
8
9
10
11
text = input()
alphabetical = [letter for letter in text if (97 <= ord(letter) <= 122) or letter == ' ']
k = max(map(len, ''.join(alphabetical).split()))
letters = []
for letter in text:
    if 97 <= ord(letter) <= 122:
        alph_index = ord("A") if letter.istitle() else ord("a")
        letters.append(chr((ord(letter) - alph_index + k) % 26 + alph_index))
    else:
        letters.append(letter)
print("".join(letters))
не прошло....(((((
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
14.04.2021, 17:03
eiktyrnir, попробуй
Python
1
2
3
4
5
6
7
8
9
10
11
12
text = input()
alphabetical = [letter if (97 <= ord(letter.lower()) <= 122)
                        else ' ' for letter in text]
k = max(map(len, ''.join(alphabetical).split()))
letters = []
for letter in text:
    if 97 <= ord(letter.lower()) <= 122:
        alph_index = ord("A") if letter.istitle() else ord("a")
        letters.append(chr((ord(letter) - alph_index + k) % 26 + alph_index))
    else:
        letters.append(letter)
print("".join(letters))
0
0 / 0 / 0
Регистрация: 14.04.2021
Сообщений: 4
14.04.2021, 17:06
У меня не прошёл(((
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
14.04.2021, 17:24
Igoryan08, пропустил "пустую" строку
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
text = input()
alphabetical = [letter if (97 <= ord(letter) <= 122)
                        or (65 <= ord(letter) <= 90) else ' '
                         for letter in text]
tmp = ''.join(alphabetical).split()
if tmp:
    k = max(map(len, tmp))
    letters = []
    for letter in text:
        if 97 <= ord(letter.lower()) <= 122:
            alph_index = (ord("A") if letter.istitle()
                                 else ord("a"))
            letters.append(chr((ord(letter)
             - alph_index + k) % 26 + alph_index))
        else:
            letters.append(letter)
    text = "".join(letters)
print(text)
2
4 / 4 / 0
Регистрация: 20.03.2021
Сообщений: 54
14.04.2021, 17:29
Gdez, ОГРОМНОЕ ОГРОМНОЕ ПРИОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ ЧЕЛОВЕЧЕСКОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!
ДА ХРАНИТ ВАС БОГ!!!
0
0 / 0 / 0
Регистрация: 14.04.2021
Сообщений: 4
14.04.2021, 17:37
СПАСИБО!!!!!!!
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
14.04.2021, 17:57
Igoryan08, на будущее - есть модуль string. Вместо ord и chr иногда лучше с ним
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import re 
 
#########
import string
eng_low = string.ascii_lowercase
eng_upp = string.ascii_uppercase
#########
 
text = input()
tmp = re.findall(r'[a-zA-Z]+', text)
if tmp:
    k = max(map(len, tmp))
res = ''
for w in text:
    
    if w in eng_low:
        ind = (eng_low.find(w) + k) % 26
        w = eng_low[ind]
        
    elif w in eng_upp:
        ind = (eng_upp.find(w) + k) % 26
        w = eng_upp[ind]
        
    res += w
print(res)
0
 Аватар для GorodetskiyKP
139 / 97 / 48
Регистрация: 22.10.2012
Сообщений: 234
14.04.2021, 18:47
Gdez, никогда так if в LC не использовал.. выглядит круто! Спасибо!

Python
1
alphabetical = [letter if (97 <= ord(letter.lower()) <= 122) else ' ' for letter in text]
0
0 / 0 / 0
Регистрация: 28.03.2021
Сообщений: 6
14.04.2021, 20:34
Форумчане помогите пожалуйста доделать код:
Python
1
2
3
4
5
6
7
8
w=input()
ww=w.count(' ')
www = w.split()
e=ww//(len(www)-1)
ee=ww%(len(www)-1)
print(*[www[q]+" "*e for q in range(len(www)-ee-1)],sep="",end="")
print(*[www[print(-t-1)]+" "*(ee+e) for t in range(ee)],sep="")
print(www[-1])
Заранее спасибо!
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,320
14.04.2021, 20:39
KOKem, афигеть принтов то
Есть функция join для формирования строк
0
14.04.2021, 20:46

Не по теме:

Ни чем не лучше го8ноКодов выше :rofl:

0
0 / 0 / 0
Регистрация: 28.03.2021
Сообщений: 6
14.04.2021, 20:52
Знаю, но джойном пользоваться не умею можете помочь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.04.2021, 20:52

Задача E. Шифровка
Стало известно, что противник шифрует текст следующим образом. Сначала определяется количество букв в самом длинном слове, его длину...

Задача 'Шифровка'
Помогите пожалуйста с задачей. Стало известно, что противник шифрует текст следующим образом. Сначала определяется количество букв в...

Шифровка Python
Стало известно, что противник шифрует текст следующим образом. Сначала определяется количество букв в самом длинном слове, его длину...

Шифровка и расшифровка
Здравствуйте, помогите пожалуйста написать программу которая будет шифровать и расшифровывать слово. Примеры: Шифровка: привет...

Шифровка rot13
Не могу понять, почему шифровка идёт не по кругу, а идёт дальше и использует другие символы text = input() key = 4 alphabet...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж» Уважаемые коллеги! Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru