Ich hab versucht eine Lottoverwaltung zu programmieren. Aber ich komme in letzter Zeit nicht mehr dazu um weiterzumachen.
Damit es nicht umsonst war möchte ich den Code veröffentlichen, vielleicht kann einer Teile aus dem Code gebrauchen oder gar am Projekt weitermachen oder sich einfach nur inspirieren lassen.
Jetzt auf Github
https://github.com/MarkusHackspacher/pyLottoverwaltung
Lottoverwaltung
Info: Benötigt PyQt4
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
@Malta: Vielleicht wäre es sinnvoller, das ganze auf einer Plattform a la bitbucket oder github anzubieten. Sollte es sich nur um zwei, drei Dateien handeln, würde auch ein Pastebin a la paste.pocoo.org gehen. Aber das wäre alles besser als den Code bei solch einem Filehoster zu hinterlegen, bei dem die Dateien vermutlich auch nur über einen kurzen Zeitraum erreichbar sind.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
An der Stelle verweise ich mal wieder auf das Dropbox-Referrer-Thema: http://www.python-forum.de/viewtopic.php?f=5&t=23918
Wobei für Projekte Bitbucket oder Github eher besser geeignet sind als ein „statischer” Download.
Wobei für Projekte Bitbucket oder Github eher besser geeignet sind als ein „statischer” Download.
Erstmal Danke für euer Interresse, ich hatte schon mit Reaktion "Nicht schon wieder eine Lottoverwaltung" oder so gerechnet.
Ich werde das Projekt in den nächsten Tagen bei Github veröffentlichen.
Jetzt auf Github
https://github.com/MarkusHackspacher/pyLottoverwaltung
Ich werde das Projekt in den nächsten Tagen bei Github veröffentlichen.
Jetzt auf Github
https://github.com/MarkusHackspacher/pyLottoverwaltung
lotto/zufallszahl.py: Die Funktion zufallszahlen lässt sich mittels random.sample deutlich kompakter definieren:
Zu lotto_gui_dialog.py sage ich einfach mal nichts …, das willst du bestimmt auch nicht so stehen lassen. Bei lotto_gui_dateneing.py musst du dringend DRY (don't repeat yourself) befolgen. Zum Beispiel die Zeilen 65 - 113, 184 - 367 und 533 - 728 gehen gar nicht!
Code: Alles auswählen
In [1]: import random
In [2]: def zufallszahlen(anzahl, maxwert):
...: return random.sample(xrange(1, maxwert + 1), anzahl)
...:
In [3]: zufallszahlen(3, 3)
Out[3]: [3, 1, 2]
In [4]: zufallszahlen(3, 5)
Out[4]: [1, 2, 4]
In [5]: zufallszahlen(5, 3)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/Users/simon/<ipython-input-5-14174081cd87> in <module>()
----> 1 zufallszahlen(5, 3)
/Users/simon/<ipython-input-2-696d0d32e493> in zufallszahlen(anzahl, maxwert)
1 def zufallszahlen(anzahl, maxwert):
----> 2 return random.sample(xrange(1, maxwert + 1), anzahl)
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.pyc in sample(self, population, k)
318 n = len(population)
319 if not 0 <= k <= n:
--> 320 raise ValueError("sample larger than population")
321 random = self.random
322 _int = int
ValueError: sample larger than population
In [6]:
Die zufallszahl.py habe ich nach deinem Vorschlag überarbeitet. Die lotto_gui_dialog.py aus Github entfernt, wurde auch nicht im Programm aufgerufen.
Zum Rest, vielleicht habe ich mich in die eine oder andere Richtung verrannt. Aber leider habe ich jetzt nicht die Zeit dazu das Programm fertig zu schreiben oder zu bereinigen.
Zum Rest, vielleicht habe ich mich in die eine oder andere Richtung verrannt. Aber leider habe ich jetzt nicht die Zeit dazu das Programm fertig zu schreiben oder zu bereinigen.
Habe in der Datei lotto_gui_dateneing.py den Spagetticode ein bisschen aufräumen können
und möchte jetzt die Zeilen 93 bis 142 verkürzen.
https://github.com/MarkusHackspacher/py ... py#L93-142
Hab self.onEingabefeld(1)) ausprobiert, aber ich bekomme den Fehler:
Edit: Problem behoben
und möchte jetzt die Zeilen 93 bis 142 verkürzen.
https://github.com/MarkusHackspacher/py ... py#L93-142
Hab self.onEingabefeld(1)) ausprobiert, aber ich bekomme den Fehler:
Code: Alles auswählen
self.connect(self.Btn_Numerary_1to49[0],QtCore.SIGNAL("clicked()"),self.onEingabefeld(1))
TypeError: arguments did not match any overloaded call:
QObject.connect(QObject, SIGNAL(), QObject, SLOT(), Qt.ConnectionType=Qt.AutoConnection): argument 3 has unexpected type 'NoneType'
QObject.connect(QObject, SIGNAL(), callable, Qt.ConnectionType=Qt.AutoConnection): argument 3 has unexpected type 'NoneType'
QObject.connect(QObject, SIGNAL(), SLOT(), Qt.ConnectionType=Qt.AutoConnection): argument 3 has unexpected type 'NoneType'
Edit: Problem behoben
Zuletzt geändert von Malta am Sonntag 22. April 2012, 11:48, insgesamt 1-mal geändert.
@Malta: Das sollte Dich nicht wundern, denn "self.onEingabefeld(1)" ruft die Funktion auf, anstatt sie als Slot zu übergeben. Du suchst "functools.partial()".