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

Шифрование слова переменой мест букв

18.02.2022, 18:03. Показов 5931. Ответов 4

Студворк — интернет-сервис помощи студентам
Зашифруйте введенную строку таким образом:
разбить строку на две части пополам;
записать новую строку так, чтобы символы из первой части чередовались символами из второй части.

Если длина строки нечетная, то в первой части на 1 символ больше.

Пример 1
Ввод
python

Вывод
phyotn

Пример 2
Ввод
world

Вывод
wlodr

Примечания
Нельзя использовать срезы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.02.2022, 18:03
Ответы с готовыми решениями:

сложение и умножение мест согласных букв данного слова
вычислить сложение и умножение мест согласных букв данного слова

1. Построить три множества: одно из букв данного слова H и второе из букв данного слова L, третье из букв слова K. Вывести на экран те буквы, которые
1. Построить три множества: одно из букв данного слова H и второе из букв данного слова L, третье из букв слова K. Вывести на экран те...

Заполнить двумерный массив номерами мест, подсчитать количество мест у окон и вывести на экран схему мест
В автобусе 6 рядов кресел по 4 места в каждом ряду. Чётные номера находятся у окон.Необходимо заполнить двумерный массив номерами мест,...

4
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
18.02.2022, 22:14
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
s = input()
 
i = 0
j = (len(s) + 1) // 2
 
a = ''
while i < (len(s) + 1) // 2:
    a += s[i]
    if j < len(s):
        a += s[j]
    i += 1
    j += 1
print(a)
1
1 / 1 / 0
Регистрация: 17.07.2023
Сообщений: 36
17.07.2023, 21:46
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
s = input()
s1 = ''
s2 = ''
if len(s) % 2 == 0:
    for i in range(len(s)):
        if i < (len(s) // 2):
            s1 += s[i]
        else:
            s2 += s[i]
    p = min(len(s1), len(s2))
    s = ''
    for i in range(p):
        s += s1[i] + s2[i]
    print(s)
else:
    for i in range(len(s)):
        if i <= (len(s) // 2):
            s1 += s[i]
        else:
            s2 += s[i]
    p = min(len(s1), len(s2))
    s = ''
    for i in range(p):
        s += s1[i] + s2[i]
    print(s + s1[len(s1) - 1])
Код рабочий, балл получил) за него, но он громоздкий. Можно проще я думаю.
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
18.07.2023, 02:21
Цитата Сообщение от monc63 Посмотреть сообщение
Можно проще
Python
1
2
3
4
5
6
7
s = input('->') + ' '
m = len(s) // 2
res = ''
for j in range(m):
    for i in range(2):
        res += s[i*m + j]
print(res.strip())
Добавлено через 11 минут
Еще вариант:

Python
1
2
3
4
5
6
from itertools import zip_longest
s = input('->') + ' '
m = len(s) // 2
res = list(zip_longest(s[:m], s[m:], fillvalue=''))
res = ''.join(a + b for a,b in res).strip()
print(res)
Добавлено через 6 минут
Еще вариант:

Python
1
2
3
4
s = input('->') + ' '
m = len(s) // 2
res = ''.join([s[:m][i] + s[m:][i] for i in range(m)]).strip()
print(res)
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
18.07.2023, 11:46
idealist,
Цитата Сообщение от PavelHard Посмотреть сообщение
Нельзя использовать срезы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.07.2023, 11:46
Помогаю со студенческими работами здесь

Шифрование строки путём перемены мест символов
Необходимо зашифровать введённую с клавиатуры строку, поменяв местами первый символ с последним, второй с предпоследним и т. д.

Найти все слова, в которых букв меньше чем цифр и слова с наибольшим количеством букв
Дана строка, состоящая из слов, разделенных пробелами. Каждое слово состоит из цифр и букв. Найти все слова, в которых букв меньше чем цифр...

Напечатать все слова предложения, множество букв которых совпадает с множеством букв первого слова
Ввести с клавиатуры строку, в которой записаны слова на английском языке Слова состоят из строчных букв и отделяются друг от друга, по...

Удалить из данного предложения слова, множество букв которых совпадает с множеством букв первого слова
стандартными стрелковыми функциями, объявленными в файле string.h пользоваться не разрешается удалить из данного предложения слова,...

Чему равно число всез трёхбуквенных слов из букв слова из букв слова «гипотенуза»?
4. Проверьте то, что число трехбуквенных «слов», которые можно образовать из букв слова «гипотенуза», равно числу всех возможных...


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

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

Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru