Перемешать буквы python
Строки неизменяемы в Питоне, поэтому чтобы перемешать буквы в словах текста, каждое слово преобразуются в список символов, список перемешивается, затем объединённые символы назад в список слов присваиваются.
В общем случае, слова на буквы можно не только посимвольно (на отдельные Unicode code points) разбивать. См. Как разбить строку на отдельные символы?
Отслеживать
ответ дан 28 дек 2017 в 19:26
52.2k 11 11 золотых знаков 108 108 серебряных знаков 311 311 бронзовых знаков
Могу предложить вот такой вариант:
import random slovo = 'Привет' slovo_list = list(slovo) abrakadabra = random.sample(slovo_list, len(slovo_list)) print(abrakadabra)
Отслеживать
12.5k 7 7 золотых знаков 18 18 серебряных знаков 48 48 бронзовых знаков
ответ дан 23 фев 2021 в 14:29
Георгий Кротов Георгий Кротов
11 2 2 бронзовых знака
23 фев 2021 в 14:33
Более простой способ:
# Программа, которая меняет местами буквы в слове. # Импортирую модуль random import random # Запрашиваю слово у пользователя. слово = input("Введите слово, в котором вы хотите поменять буквы местами:\n") # Преобразую введённое слово из неизменяемого строкового типа (str) # в изменяемый тип список (list) при помощи функции list() слово = list(слово) # Перемешиваю элементы списка при помощи метода.shuffle random.shuffle(слово) # Создаю переменную строкового типа, в которую будет записываться слово # с перемешанными буквами. перемешанное_слово = "" # При помощи цикла for добавляю последовательно буквы # в созданную пустую переменную (перемешанное_слово). for буква in слово: перемешанное_слово += буква # Вывожу результат на экран. print(перемешанное_слово)
Перестановка букв в строке
Здравствуйте,
Нужно написать программу на python, которая переставляет буквы в вводимой строке, например а на я, я на а, б на ю, ю на б и так далее и выводит получившуюся строку.
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Перестановка слов в строке
Дан текстовый файл. Создать новый файл, каждая строка которого получается из соответствующей.

Перестановка букв в строке
Очень нужно разработать программу в консольном приложении для заданной строки s, которая меняет.
Перестановка букв в строке
программа, которая для заданной строки S меняет местами первую букву со второй, вторую с третьей и.

Перестановка букв в строке
Дана строка. Написать программу,которая будет определять, можно ли переставить эти буквы так, чтобы.

Перестановка букв в строке
Условие: Меняет местами первую букву со второй, третью с четвертой и т.д. C#
Регистрация: 11.03.2018
Сообщений: 22
1 2 3 4 5 6 7 8 9 10 11 12
# -*- coding: utf-8 -*- string = list(input("Введите строку: ")) a = ["а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я"] b = a[::-1] for i in range(len(string)): if string[i] is not " ": string[i] = b[a.index(string[i])] for i in string: print(i, end="")
Am I evil? Yes, I am!
![]()
![]()
18966 / 9661 / 2710
Регистрация: 21.10.2017
Сообщений: 21,466
1 2 3 4 5 6 7 8
s = 'абвгдещъыьэюя' print(s) for i in s: if i 'п': print(chr(ord(i) + (ord('п') - ord(i)) * 2 + 1), end='') else: print(chr(ord(i) - (ord(i) - ord('п')) * 2 + 1), end='')
5161 / 2636 / 545
Регистрация: 07.11.2019
Сообщений: 4,351

Сообщение было отмечено l1nt3x как решение
Решение
iSmokeJC, скорее всего будут проблемы с буквой ё.
Добавлено через 14 минут
Тоже самое, чуть короче:
''.join([chr(-ord(i) + 2*ord('п') + 1) for i in s])
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Перестановка букв и цифр в строке
Друзья! Начал изучать Си, но застрял вот на какой задаче: имеется строка содержащая буквы и цифры.
Написать подпрограмму, которая в строке символов заменяет в строке группу букв child группой букв children
Написать подпрограмму, которая в строке символов заменяет в строке каждую группу букв child группой.

Подсчитать в строке сколько букв A и B,если букв A больше, чем B,то удалить в строке все символы B.
Подсчитать в строке сколько букв A и B,если букв A больше, чем B,то удалить в строке все символы B.
Подсчитать в строке число букв А и В, если букв А больше, чем В, то удалить в строке все символы В
помогите! Подсчитать в строке число букв А и В, если букв А больше, чем В, то удалить в строке все.
Подсчитать в строке число букв А и В, если букв А больше, чем В, то удалить в строке все символы В
Здравствуйте, помогите пожалуйста решить задачу с помощью процедур "Подсчитать в строке число букв.
Перемешать без повторений
Реализовать случайную выборку без повторений
Всем привет! Такой вопрос, у меня в списке 20 имен, мне не важно какое будет выбрано, потому мне.

Перестановка без повторений
Здравствуйте. Прошу совета. Необходимо вывести все комбинации из символов ‘Ж’, ‘К’, ‘П’, ‘Н’, ‘В’.

Генерация перестановок без повторений
Добрый вечер, помогите пожалуйста доработать код! Очень нужно в кратчайшие сроки. Задача состоит в.
Случайный вариант ответа из списка без повторений
Доброго времени суток. Возникла проблема. Как сделать варианты ответов без повторений? from turtle.

Вывести 3 случайных числа от 1 до 100 без повторений
Необходимо создать программу на Python, которая выводит 3 случайных числа от 1 до 100 без.
Как перемешать символы в сроке?
YakovSpb, я тоже не вижу никакого смысла в перемешивании 8 случайных групп. Но это не я сформулировал конкатенацию в фиксированном порядке.

ScriptKiddo @ScriptKiddo
SELECT string_agg(unnest, '') FROM( select * FROM (select unnest(string_to_array(string_agg(concat( substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ', ceil(random() * 26)::integer, 1), substring('abcdefghijklmnopqrstuvwxyz', ceil(random() * 26)::integer, 1), substring('0123456789', ceil(random() * 10)::integer, 1), substring('!#$%&()*+,-./:;?@[]^', ceil(random() * 23)::integer, 1) ), ''), NULL)) FROM generate_series(1,8)) x ORDER BY RANDOM()) as random_chars
Держи, только никому это не показывай XD
Ответ написан более двух лет назад
Комментировать
Нравится Комментировать

Fullstack programmer, DBA, медленно, дорого
Ваша настойчивость впечатляет:
select string_agg(substring, '') from ( SELECT substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ', ceil(random() * 26)::integer, 1) FROM generate_series(1,12) -- 12 capital letters union SELECT substring('abcdefghijklmnopqrstuvwxyz', ceil(random() * 26)::integer, 1) FROM generate_series(1,12) -- 12 low case letters union SELECT substring('0123456789', ceil(random() * 10)::integer, 1) FROM generate_series(1,6) -- 6 digits union SELECT substring('!#$%&()*+,-./:;?@[]^', ceil(random() * 23)::integer, 1) FROM generate_series(1,2) -- 2 other chars ) seria;