Misschien is het omdat ik uit een beknopte java/c++wereld kom. Misschien is het omdat ik dit soort dingen altijd om 1 uur in de nacht verzin. Misschien denk ik krom, maar toch probeer ik het.
Ik ben voor eigen ontwikkeling een spelletje aan het maken in python waarbij het de bedoeling is om een bepaald aantal keer een dobbelsteen te gooien en de resultaten te vergelijken. Voor de dobbelstenen heb ik een aparte klasse gemaakt. In die klasse heb ik verschillende methoden die verschillende soorten dobbelstenen kunnen rollen. Zo heb ik bijvoorbeeld een kleurdobbelsteen, waarvan de 6 zijden in een lijst worden verwoord, op de volgende manier:
Deze code werkt prima.
Wat ik nu echter wil maken is een andere methode die een variabel aantal keer de kleurdobbelsteen werpt. Het is dan aan de gebruiker om te bepalen hoe vaak dit is. Bijvoorbeeld werpsteen(3) zou 3 keer de getoonde code moeten uitvoeren. In java/c++ maakte ik hiervoor altijd een for loop aan, met variabele i die begon bij 0 en optelt tot hij bij het aantal keer in de statement aan kwam.
Hier dus het probleem. De FOR loop in python vergelijkt met een lijst ipv een simpele int. Een lijst heeft echter een vaste waarde en daar loopt het dus mis. Ik wil niet dat de waarde vast staat, maar bij aanroep kan veranderen. Hoe kan ik deze FOR loop zo aanpassen dat hij de input van mijn statement pakt als referentie? Met een while-loop lukt het wellicht, maar dan moet ik andersom gaan redeneren en dat geeft meer errors dan geluk ben ik bang.
Maak ik ergens een denkfout misschien?
Ik ben voor eigen ontwikkeling een spelletje aan het maken in python waarbij het de bedoeling is om een bepaald aantal keer een dobbelsteen te gooien en de resultaten te vergelijken. Voor de dobbelstenen heb ik een aparte klasse gemaakt. In die klasse heb ik verschillende methoden die verschillende soorten dobbelstenen kunnen rollen. Zo heb ik bijvoorbeeld een kleurdobbelsteen, waarvan de 6 zijden in een lijst worden verwoord, op de volgende manier:
code:
1
2
3
| kleursteen = ["rood","blauw","geel","groen","zwart","wit"] roll = random.randrange(0,5) print "Jouw kleur is: " + kleursteen[roll] |
Deze code werkt prima.
Wat ik nu echter wil maken is een andere methode die een variabel aantal keer de kleurdobbelsteen werpt. Het is dan aan de gebruiker om te bepalen hoe vaak dit is. Bijvoorbeeld werpsteen(3) zou 3 keer de getoonde code moeten uitvoeren. In java/c++ maakte ik hiervoor altijd een for loop aan, met variabele i die begon bij 0 en optelt tot hij bij het aantal keer in de statement aan kwam.
Hier dus het probleem. De FOR loop in python vergelijkt met een lijst ipv een simpele int. Een lijst heeft echter een vaste waarde en daar loopt het dus mis. Ik wil niet dat de waarde vast staat, maar bij aanroep kan veranderen. Hoe kan ik deze FOR loop zo aanpassen dat hij de input van mijn statement pakt als referentie? Met een while-loop lukt het wellicht, maar dan moet ik andersom gaan redeneren en dat geeft meer errors dan geluk ben ik bang.
Maak ik ergens een denkfout misschien?
Is this question retorical? No? Then what is the point of retorical questions?