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ć
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)
1 votes Thanks 1
vilkh3m
sandbox z działającym przykładem https://edube.org/sandbox/ef2bfe80-4569-11ec-a8a2-0242157e55ca
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)