Seite 2 von 2

Re: Python Zufallsgenerator: bestimmte Zahlen ausgrenzen

Verfasst: Mittwoch 8. Oktober 2014, 16:47
von EyDu
Programmieren funktioniert nicht mittels Raten, du musst schon wissen was du machst. Was soll denn passieren, wenn du Listen von Listen subtrahierst, das ist doch ein wenig unsinnig. Die list-Aufrufe in den Zeilen 18, 20 und 21 deuten auch auf geraten hin. Die sind nämlich total überflüssig. Du suchst wahrscheinlich Mengen (sets). Zeilen 24 bis Ende sind wahrscheinlich auch nicht so gemeint, wie sie dort stehen. Da werden nämlich Tupel mit Integern in einer Liste vermischt. Verschiedene Datentypen in einer Liste möchte man normalerweise vermeiden.

Und dann noch ein wertvoller Hinweise: Schreibe Code niemals blind runter, sondern teste die Zwischenschritte. Bei dir schmiert das Programm ja schon relativ früh ab, der ganze Rest danach baut dann auf falschen Annahmen auf. Lasse deinen Code also zwischendurch mal laufen. Und wenn er irgendwo nicht durchläuft, dann behebe erst den Fehler und programmiere anschließen dahinter weiter.

Re: Python Zufallsgenerator: bestimmte Zahlen ausgrenzen

Verfasst: Mittwoch 8. Oktober 2014, 17:09
von qEagleStrikerp
Hi,
ich mach das normalerweise schon so. Auch heute. Nur bin ich bei dem Problem mit den Listen hängen geblieben, hab aber den restlichen Code schonmal eingetippt, sodass ich später nur noch Details ändern muss.
Btw: Das mit dem Listen voneinander subtrahieren hat im letzten Programm bereits funktioniert, wenn du dir die paar Nachrichten vor deiner mal durchliest. Das hat wirklich wunderbar funktioniert. Aber jetzt mit den Tupeln war das nicht mehr so leicht. Mir ist aufgefallen, dass es bei zs eine Liste mit [] ergibt und bei chosen eine mit {}. Ich hab vermutet, dass dort das Problem liegt, bin aber noch zu unerfahren um sowas zu lösen. Daher hab ich auch das aktuell fehlerhafte Programm online gestellt, damit mir bei eben diesem Problem geholfen werden kann.

Re: Python Zufallsgenerator: bestimmte Zahlen ausgrenzen

Verfasst: Mittwoch 8. Oktober 2014, 17:23
von Sirius3
@qEagleStrikerp: Der Unterschied zwischen [] und {} ist der, dass ersteres eine Liste und zweiteres ein Set erzeugt. Wenn Dir soetwas unklar ist, solltest Du es in der Python-Dokumentation nachlesen, statt es unverstanden zu verwenden.

Re: Python Zufallsgenerator: bestimmte Zahlen ausgrenzen

Verfasst: Mittwoch 8. Oktober 2014, 20:08
von Hyperion
Vor allem sollte man solche Dinge sofort ad hoc in einer interaktiven Shell (aka REPL) austesten und damit experimentieren :-)

Re: Python Zufallsgenerator: bestimmte Zahlen ausgrenzen

Verfasst: Mittwoch 26. November 2014, 17:51
von qEagleStrikerp
Hi zusammen,
hab mich letztens mal wieder hingesetzt und das Programm komplett neu geschrieben, diesmal mit Dictionarys. Hab es dann in einem 2. Python Programm über "exec" in einer Schleife aufgerufen und schon kamen erwartete Werte raus.

Danke für eure Bemühungen!

Re: Python Zufallsgenerator: bestimmte Zahlen ausgrenzen

Verfasst: Mittwoch 26. November 2014, 17:52
von BlackJack
@qEagleStrikerp: Warum um Himmels willen mit `exec`‽ Das ist mit Sicherheit nicht das richtige Werkzeug für so eine Aufgabe.

Re: Python Zufallsgenerator: bestimmte Zahlen ausgrenzen

Verfasst: Mittwoch 26. November 2014, 19:00
von qEagleStrikerp
BlackJack hat geschrieben:@qEagleStrikerp: Warum um Himmels willen mit `exec`‽ Das ist mit Sicherheit nicht das richtige Werkzeug für so eine Aufgabe.
Erstaunlicherweise habe ich aber mit folgendem Code (ist nur ein Ausschnitt) genau die Werte bekommen, die ich zuvor theoretisch berechnet habe. Daher eignet es sich scheinbar doch.

Code: Alles auswählen

for i in range(1000000):
    exec(open("dv core ohne fatumknoten.py").read())
Edit: Das Problem war ja, dass ich, wenn ich das Kernprogramm in eine Schleife gesetzt hab, immer ähnliche Werte rausbekommen habe. irgendein Fehler mit dem Zufallsgenerator also. Nun habe ich ein zweites Programm erstellt, dass das erste n mal aufruft - dabei stimmen die Werte.

Edit 2: Ich habe es gerade nochmal probiert, es geht doch ^^. Bei dem alten Programm hat also generell irgendwas wohl nicht so ganz gestimmt.

Re: Python Zufallsgenerator: bestimmte Zahlen ausgrenzen

Verfasst: Mittwoch 26. November 2014, 20:28
von BlackJack
@qEagleStrikerp: Nur weil etwas funktioniert eignet es sich nicht automatisch. Man kann auch Nägel mit dem Griff eines Schraubendrehers in die Wand kloppen, das macht den Schraubendreher aber nicht zum richtigen Werkzeug für diese Aufgabe.

Re: Python Zufallsgenerator: bestimmte Zahlen ausgrenzen

Verfasst: Donnerstag 27. November 2014, 17:18
von qEagleStrikerp
BlackJack hat geschrieben:@qEagleStrikerp: Nur weil etwas funktioniert eignet es sich nicht automatisch. Man kann auch Nägel mit dem Griff eines Schraubendrehers in die Wand kloppen, das macht den Schraubendreher aber nicht zum richtigen Werkzeug für diese Aufgabe.
^^ Da hast du natürlich vollkommen recht. Wie ich ja nachträglich noch geschrieben habe, funktioniert das Programm ja auch mit Schleife, was exec überflüssig macht.