Lotto
stimmt. aber wie mache ich den sowas die wenn ich sag er soll zufällig zusammen setzen und dann die ersten 77 ziehen geht das nicht wie könnt ich das problem lösen?
ich versuche das prog jetzt einfach mal so zu machen ich hab es nicht abgegeben.
EDIT by mawe: Python-tags eingefügt
__________________________________
soweit is meine kllassen hirarchie fertig aber irgendwie funzt die klsse spiel77 nicht . wenn ich die ausgabe von den zahlen machen will sagt der da wäre ein fehler.
und bitte sagt mir jemand wie ich das mache, das die zahlen doppelt vorkeommen dürfen.
Code: Alles auswählen
import random
class LottoAutomat(object):
def __init__(self, start=0, ende=9):
self.__kugeln = []
for i in range (start, ende+1):
self.__kugeln.append(i)
def zieheZahlen(self):
random.shuffle (self.__kugeln)
return self.__kugeln[:6]
class Spiel77Automat(LottoAutomat):
def __init__(self):
LottoAutomat.__init__(self, start=0, ende=9)
def zieheZahlen(self):
return self.__kugeln[:7]
class Super6Automat(Spiel77Automat):
def __init__(self):
Spiel77.__init__(self)
def zeiheZahlen(self):
return self.__kugeln[1:7]
if __name__ == "__main__":
test = LottoAutomat()
print test.zieheZahlen()
__________________________________
soweit is meine kllassen hirarchie fertig aber irgendwie funzt die klsse spiel77 nicht . wenn ich die ausgabe von den zahlen machen will sagt der da wäre ein fehler.
und bitte sagt mir jemand wie ich das mache, das die zahlen doppelt vorkeommen dürfen.
sry in der ersten klasse müssen die zahlen natürlich von 1-49 und nicht von 0-9
Code: Alles auswählen
import random
class LottoAutomat(object):
def __init__(self, start=1, ende=49):
self.__kugeln = []
for i in range (start, ende+1):
self.__kugeln.append(i)
def zieheZahlen(self):
random.shuffle (self.__kugeln)
return self.__kugeln[:6]
class Spiel77Automat(LottoAutomat):
def zieheZahlen(self):
kugeln = []
for z in range(7):
kugeln.append(random.randint(0, 9))
return kugeln
class Super6Automat(Spiel77Automat):
def zieheZahlen(self):
return Spiel77Automat.zieheZahlen(self)[1:]
if __name__ == "__main__":
lotto = LottoAutomat()
print lotto.zieheZahlen()
s77 = Spiel77Automat()
print s77.zieheZahlen()
s6 = Super6Automat()
print s6.zieheZahlen()
so ich hab das jetzt nochmal überarbeitet. aber warum sind die Zahlen von spiel77 und super6 nicht gleich????
was mach ich falsch???
kann mir jemand helfen.
EDIT by mawe: Python-tags eingefügt - SEUFZ
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
*seutz*
Das ist alles irgendwie ungeeignet und ich habe das Gefühl dass das eine Aufgabe ist, in der Klassen einfach total stören. So kannst du LottoAutomat.__init__ komplett kicken, da du es sowieso nicht brauchst.
Das ist alles irgendwie ungeeignet und ich habe das Gefühl dass das eine Aufgabe ist, in der Klassen einfach total stören. So kannst du LottoAutomat.__init__ komplett kicken, da du es sowieso nicht brauchst.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Wie ich schon schrob eignet sich die Aufgabenstellung einfach nicht dazu sinnvolle Klassen zu definieren. Eine Minimallösung mit Funktionen sieht so aus:
Das könnte man vielleicht in einer Klasse zusammenfassen (siehe unten), wenn man möchte, aber ich sehe echt keine Notwendigkeit das mit mehreren Klassen unnötig aufzublasen.
Code: Alles auswählen
#!/usr/bin/env python
import random
def lotto():
return random.sample(xrange(1,50), 6)
def spiel77():
return [random.randint(0, 9) for dummy in xrange(7)]
def super6(spiel77_ergebnis):
return spiel77_ergebnis[1:]
if __name__ == '__main__':
print lotto()
spiel77_ergebnis = spiel77()
super6_ergebnis = super6(spiel77_ergebnis)
print spiel77_ergebnis
print super6_ergebnis
Code: Alles auswählen
#!/usr/bin/env python
import random
class Lotto(object):
def __init__(self):
self.ergebnis = random.sample(xrange(1,50), 6)
self.spiel77 = [random.randint(0, 9) for dummy in xrange(7)]
def _get_super6(self):
return self.spiel77[1:]
super6 = property(_get_super6)
if __name__ == '__main__':
lotto_ziehung = Lotto()
print lotto_ziehung.ergebnis
print lotto_ziehung.spiel77
print lotto_ziehung.super6