Проверка и вывод всех i'тых анаграмм
Всем привет, хотел бы попросить помощи в решении одной проблемки. Я хотел бы вывести все анаграммы одного слова, и заранее видеть "паттерны" i'тых по которым будут выведены отдельные буквы последующего слова. Так же для проверки на одинаковость анаграмм хотел забивать все слова в один общий список и сверять есть ли такое слово или нет.
from random import randint
import math
a = []
b = []
vivod = []
ii = 0
count = 0
d1 = 0
a = str(input())
c = len(a)
b = list(a)
d = math.factorial(c)
if c > 4:
count =+ 1
if count < 1:
while d >= d1:
for i in range (d):
ii = randint(0,3)
print(ii)
for i in range (c):
for i in b:
vivod.append(b[ii])
print(vivod)
d1 =+ 1
print(vivod)
Ответы (1 шт):
Благодаря Интику нашёлся легкий ответ, как мне казалось, сложной задаче. Для решения данной задачи я использовал очень похожий итератор с combination, это итератор combinations_with_replacement. Его использование возможно так: for <кол-во повторений цикла> in combinations_with_replacement(<то что будет комбинироваться, просто слова в кавычках, списки просто вставить>, <кол-во символов в выводимом слове>): print(''.join(<кол-во повторений цикла>)) Пример + вывод:
from itertools import combinations_with_replacement
from math import factorial
a = []
a = str(input())
c = list(a)
b = len(a)
d = factorial(b)
for d in combinations_with_replacement(c, b):
print(''.join(d))
shrek (введённое слово) sssss, ssssh, ssssr, sssse, ssssk, ssshh, ssshr, ssshe, ssshk, sssrr, sssre, sssrk, sssee, sssek, ssskk, sshhh, sshhr, sshhe, sshhk, sshrr, sshre, sshrk, sshek, sshkk, ssrrr, ssrre, ssrrk, ssree, ssrek, ssrkk, sseee, sseek, ssekk, sskkk, shhhh, shhhr, shhhe, shhhk, shhrr, shhre, shhrk, shhee, shhek, shhkk, shrrr, shrre, shrrk, shree, shrek, shrkk, sheee, sheek, shekk, shkkk, srrrr, srrre, srrrk, srree, srrek, srrkk, sreee, sreek, srekk, srkkk, seeee, seeek, seekk, sekkk, skkkk, hhhhh, hhhhr, hhhhe, hhhhk, hhhrr, hhhre, hhhrk, hhhee, hhhek, hhhkk, hhrrr, hhrre, hhrrk, hhree, hhrek, hhrkk, hheee, hheek, hhekk, hhkkk, hrrrr, hrrre, hrrrk, hrree, hrrek, hrrkk, hreee, hreek, hrekk, hrkkk,, heeee, heeek, heekk, hekkk, hkkkk, rrrrr, rrrre, rrrrk, rrree, rrrek, rrrkk, rreee, rreek, rrekk, rrkkk, reeee, reeek, reekk, rekkk, rkkkk, eeeee, eeeek, eeekk, eekkk, ekkkk, kkkkk. (Запятые и точка в вывод не входят)
