Array und Liste

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
uriezzo
User
Beiträge: 2
Registriert: Dienstag 14. Januar 2020, 11:10

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?
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

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.
uriezzo
User
Beiträge: 2
Registriert: Dienstag 14. Januar 2020, 11:10

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..
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

@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 ;)
Antworten