![]() |
Script som fördelar artiklar jämt
Ponera att jag har 4 olika typer av artiklar, vi kan kalla dem för typ A, typ B, typ C och typ D. Av typ A har jag 2 artiklar, av typ B har jag 4 artiklar, av typ C har jag 5 artiklar och av typ D har jag 3 artiklar. Kan man på något sätt göra ett script i PHP som fördelar artiklarna så jämt som det bara är möjligt? Kanske någon form av loop? Här nedan följer ett par exempel på vad jag menar:
2 typ A och 2 typ B = A-B-A-B 4 typ A och 2 typ B = A-A-B-A-A-B 2 typ A, 4 typ B och 3 typ C = B-C-A-B-C-B-A-C-B (det tror jag i alla fall är den mest jämna fördelning) Ett sådant script hade underlättat uppdateringarna utav ett par av mina hemsidor en hel del. Någon smart jävel som kan hjälpa mig lite? :) |
Använd en roundrobin-algoritm för att plocka artiklarna. Här är exempelkod i Python: http://docs.python.org/library/itertools.html#recipes (sök på roundrobin)
Kod:
for letter in roundrobin('AA', 'BBBB', 'CCCCC', 'DDD'): Kod:
for letter in roundrobin('CCCCC', 'BBBB', 'DDD', 'AA'): |
Verkar vara precis vad jag letar efter. Är det jättebökigt att få igång scriptet? Jag har aldrig hållt på med Python tidigare.
|
Nej det är inte jättebökigt. Men för att få det att fungera i PHP behöver man copy-pasta någon annans kod eller själv lära sig hur round robin fungerar.
|
Vilket språk?
Citat:
|
Alla tider är GMT +2. Klockan är nu 18:47. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson