ich bin noch Anfänger in Python (davor Java) und wollte deswegen zum lernen ein Programm erstellen, dass Lottozahlen erstellt und mit deinen Tickets vergleicht, also ganz easy. Allerdings wenn ich mehrere Tickets erstelle, werden die "numbers" immer fortgeführt anstatt von Listen in einer Liste. Hoffe Ihr könnt mir da weiterhelfen. Bitte immer gern Anmerkungen zum Schreibstil

liebe Grüße
Klasse lotto:
Code: Alles auswählen
import random
class lotto:
numbers = []*5
addNr1 = None
def __init__(self):
print("New ticket created")
for _ in range(5):
self.numbers.append(random.randint(0, 49))
self.addNr1 = random.randint(0, 7)
print(self.numbers)
def compare(self, ticket):
rights = []
print("Ticket: {}".format(ticket.numbers))
for i in ticket.numbers:
if i in self.numbers:
rights.append(i)
return rights
Code: Alles auswählen
import lotto
class tryYoureLuck:
tickets = []
game = None
rights = []
def __init__(self, times=2):
print("Generate Tickets and Game!")
self.game = lotto.lotto()
self.createTickets(times)
max = 0
for t in range(len(self.tickets)-1):
right = self.game.compare(self.tickets[t])
if len(right) > max:
max = len(right)
self.rights.append(right)
print("This is the max: {}".format(max))
print(self.rights)
def createTickets(self, times):
self.tickets = [lotto.lotto() for _ in range(1, times)]
print("Let's start!")
tryYoureLuck()
Code: Alles auswählen
Let's start!
Generate Tickets and Game!
New ticket created
[46, 1, 24, 32, 20]
New ticket created
[46, 1, 24, 32, 20, 36, 21, 37, 24, 41]
This is the max: 0
[]
[Finished in 0.087s]