Jaki program na komputerze byście polecili do wykonania tej pracy. Jest 2040 słów bez związku ze sobą. Trzeba je dobrać w grupy w każdej grupie 12 slow, trzeba wykorzystać wszystkie słowa, I ma być cały czas inną kolejność. kod/aplikacje ma to przekształcić w taki sposób że cały czas będzie inna kolejność

(Jedno slowo ma się różnić kolejnością)

W krótszej wersji jakbyśmy robili to z 3 słów w grupie to jest to tak:

Biały-kot-lampa

Biały-lampa-kot

Kot-lampa-biały

Kot-biały-lampa

Lampa-kot-biały

Lampa-biały-kot

I przypuśćmy ze wszystkich słów jest 12 wiec juz te 3 są zrobione ze sobą to teraz dobieramy kolejne slowo czyli np maska

I robimy tak

Kot-biały-maska

Kot-maska-biały

Itd

Teraz maska będzie jako Kot czyli

Maska-biały-lampa

Itd

Pozniej dobieramy piąte slowo I tak cały czas bo grupa ma ustalona liczbę tak jak w przykładzie 3 słowa



Blagam jest ktoś kto to rozumie i jaka aplikacja na komputerze przekształca to aby tego nie pisać samego bo to będzie trwało kilka jak nie więcej dni. Bo jest aż 2040 słów i w każdej grupie 12 ma być



Odpowiedź :

Odpowiedź:

Możesz to zrobić w python'ie używając biblioteki itertools.permutations()

Wyjaśnienie:

Przygotowałem program z listą 20 wyrazów i robie to na grupach 5 wyrazowych. Wyrazy na wejściu oddzielone są spacją nie wiem jak to jest u ciebie.

(link do działającego przykładu podam w komentarzu bo tu nie można dawać linków)

import itertools

a = "jeden dwa trzy cztery piec szesc siedem osiem dziewiec dzisiec jedenasie dwanascie trzynascie czternascie pietnascie szesnascie siedemnascie osiemnascie dziewietnascie dwadziescia"

def wordmikser(words):

   # podzial stringa na liste

   word = words.split()

   # tworzenie 5 elementowej listy i wyslanie jej do miksera

   l = 0

   grupa = []

   for x in word:

       grupa.append(x)

       l = l + 1

       if l > 4:

           l = 0

           print(grupa)

           #mikser

           miksowanie(grupa)

           grupa = []

           

def miksowanie(wyrazy):

   i=0

   #miksowanie i wyswietlanie

   for s in itertools.permutations(wyrazy, 5):

    print ('-'.join(s))

    i = i + 1

   print(f"{i} kombinacji")

   

wordmikser(a)