Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как мне поменять местами символы(сначала четный символ, затем нечетный) и конечный итог присвоить переменной?

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

text = 'Зашифрованный текст'

for i, charact in enumerate(text):

if i % 2 == 0:

a = charact

continue

else:

b = charact

new_text = b + a

PythonPython 3+3
Ильдар Сагидуллин
Python Q
  · 503
На Кью задали 1 похожий вопрос
Исправляю старые баги, добавляю новые  · 5 мар 2021

Рассмотрите такой вариант: вставка символа на предыдущий индекс.

  1. Конвертируете текст в список.
  2. Запускаете цикл for, который проходит по каждому нечетному индексу.
  3. Удаляете символ из списка
  4. Вставляете его на предыдущий (четный) индекс.
  5. После цикла конвертируете список в строку.

Вот такой код получился.

text = 'Зашифрованный текст'
text_list = list(text)

for i in range(1, len(text_list), 2):
    current_char = text_list.pop(i)
    text_list.insert(i-1, current_char)

print("".join(text_list))

Вывод: аЗишрфвонаын йетскт

Ответы на похожие вопросы
Как мне поменять местами символы (сначала четный символ, затем нечетный) и конечный итог присвоить переменной? — 1 ответ, задан 
Старший разработчик компании Google. Основная специальность - машинное обучение, глубокое...  · 9 мар 2021

Как я понял, строка '1234567890abc' должна превращаться в '2143658709bac'. Код ниже делает как раз это.

def foo(text):
    result = ''
    n = len(text)
    for i in range(n // 2):
        result += text[i * 2 : (i + 1) * 2][::-1]
    return result + (text[-1] if n % 2 == 1 else '')