Hjælp til lidt python kode (evt. loop?)

Tags:    diverse

Halløj udviklere.

Jeg er i gang med at lære python, og har garderet mig med bogen "Dive into python", og er ved at være nået et godt stykke igennem den.

Jeg fik lyst til at lave et program, som kunne lave grupper for min klasse, hurtigt og nemt. Så jeg gik i gang, men er kørt lidt tør der hvor programmet skal uddele numre til de forskellige grupper.

Her er koden:
Fold kodeboks ind/udKode 


Las os antage, at der er blevet tastet 30 elever ind, som skal opdeles i 5 grupper, og at hver elev har hver sit nummer, et sted mellem 1 og 30. Ideen er så, at den til sidst skal skrive:
"Gruppe nr. 1 [1, 25, 3, 4, 7, 10]"
"Gruppe nr. 2 [2, 15, 17, 22, 6, 8]"
osv.

Men som det ser ud nu, skriver den jo bare:
"Gruppe nr. 1 [1, 25, 3, 4, 7, 10]"
"Gruppe nr. 2 [1, 25, 3, 4, 7, 10]"
osv.

Så mit spørgsmål er, hvad gør jeg, for at få den til at lave 5 grupper, men uden at putte den samme elev i to forskellige grupper?

Håber i forstår hvad jeg mener :)

På forhånd tak.
Thomas



Indlæg senest redigeret d. 08.02.2011 20:45 af Bruger #11033
4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Det lidt misvisende at kalde variablen for grupper:
Fold kodeboks ind/udKode 

eleverPrGruppe er måske mere passende.

Du kan lave løkke lidt simplere sådan her f.eks.:
Fold kodeboks ind/udKode 

gruppeIndeks er gruppens indeks. Den første gruppe er 0, så 1 osv.

Eleverne er i nrliste. Hvis de første 5 (gruppestørrelsen) er i 0-4 indeks. De næste 5 er i 5-9 eller sagt på en anden måde:
n*5, n*5+1, n*5+2. n*5+3. n*5+4 hvor 'n' er gruppe indeks. Det kan man også sige er at det første element er ved n*5 og så de næste 4. Så kan du lave din 'slice' herefter:
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 08.02.2011 23:11 af Bruger #14645
Det lidt misvisende at kalde variablen for grupper:
Fold kodeboks ind/udKode 

eleverPrGruppe er måske mere passende.

Du kan lave løkke lidt simplere sådan her f.eks.:
Fold kodeboks ind/udKode 

gruppeIndeks er gruppens indeks. Den første gruppe er 0, så 1 osv.

Eleverne er i nrliste. Hvis de første 5 (gruppestørrelsen) er i 0-4 indeks. De næste 5 er i 5-9 eller sagt på en anden måde:
n*5, n*5+1, n*5+2. n*5+3. n*5+4 hvor 'n' er gruppe indeks. Det kan man også sige er at det første element er ved n*5 og så de næste 4. Så kan du lave din 'slice' herefter:
Fold kodeboks ind/udKode 


Mange tak for dit svar, men jeg kan stadig ikke rigtig få det til at virke..

Min kode ser nu sådan ud:
Fold kodeboks ind/udKode 


Det vil jeg da mene, at det burde fungere som dit "n*5+1, n*5+2" osv.
Men den giver mig kun den første gruppe?



Jeg huskede forkert, det ikke [start:længde] men [start:slut]. Hvis du ændrer koden inde i løkken til dette skulle det virke. Du skal stadig tage højde at sidste gruppe ikke bliver lige så stor.

Fold kodeboks ind/udKode 




Yes, sådan der! Nu virker det! :D
Tak for hjælpen :)



t