Seite 1 von 1

Array und Liste

Verfasst: Dienstag 14. Januar 2020, 11:26
von uriezzo
Hallo, ich bin ganz neu in Python, mir fehlt deshalb noch der Überblick. Als kleine Fingerübung (und um zu sehen wie schnell Python ist) möchte ich gerne mit sechs Würfen virtuell 10000 mal würfeln und die erzielten Augenzahlen darstellen. In meinem ollen Basic hätte ich da ganz simpel einen Array erstellt, und bei jeder Würfelrunde Zaehler(erwürfelt) um eins inkrementiert. Wie ich sehe sind Arrays bei Python nicht gerne gesehen. Wie löst ein Pythoniker diese Aufgabe elegant mit Listen?

Re: Array und Liste

Verfasst: Dienstag 14. Januar 2020, 13:03
von Sirius3
Das kannst Du Dir ja selbst aneignen, indem Du lernst, wie man Listen benutzt. Du kannst dann gerne Deine Lösung hier zeigen, vielleicht hat dann der ein oder andere noch Tipps, was besser geht.

Re: Array und Liste

Verfasst: Dienstag 14. Januar 2020, 13:36
von uriezzo
Sirius3 hat geschrieben: Dienstag 14. Januar 2020, 13:03 Das kannst Du Dir ja selbst aneignen, indem Du lernst, wie man Listen benutzt. Du kannst dann gerne Deine Lösung hier zeigen, vielleicht hat dann der ein oder andere noch Tipps, was besser geht.
1) Manchmal eignet man sich schlechte Gewohnheiten an, die man nicht leicht wieder los wird, wenn man einfach drauflos fuhrwerkt. Das möchte ich gerne vermeiden.
2) Ich sehe, dass Python gründlich anders ist, als die Sprachen, die ich sonst schon gesehen habe. Ich würde gerne diesen Unterschied verstehen. Dabei würde mir es mir tatsächlich helfen, wenn jemand, der weiss, wie man die Möglichkeiten von Python geschickt und sachgerecht zur Lösung dieser kleinen Übung einsetzt so nett wäre es mir zu zeigen..

Re: Array und Liste

Verfasst: Dienstag 14. Januar 2020, 13:42
von __blackjack__
@uriezzo: Wegen 1) war dann ja der zweite Teil von Sirius3's Antwort: Ergebnis zeigen.

Man würde eine Schleife schreiben die 10.000 mal würfelt und in einer geeigneten Datenstruktur mitzählen. Entweder einer Liste oder einem Wörterbuch. Bei der Liste müsste man entweder den 0ten Eintrag ignorieren wenn von 1 bis 6 gewürfelt wird und eine Liste mit 7 0en initialisieren. Bei einem Wörterbuch muss man entweder eines mit 0en für die Schlüssel 1 bis 6 initialisieren, oder ein `collections.defaultdict` oder ein `collections.Counter` verwenden.

Re: Array und Liste

Verfasst: Dienstag 14. Januar 2020, 13:44
von sparrow
@uriezzo: Du schreibst doch, dass es eine kleine Fingerübung ist. Die schlechten Gewohnheiten bringst du aus Basic sowieso mit. Übrigens sehe ich nicht, dass Arrays ungern gesehen sind. Es gibt schon Anwendungsfälle dafür. Wenn man einen erreicht hat, merkt man, wenn man ein Modul benutzt, dass überhaupt Arrays zur Verfügung stellt ;)