From 485fd0412743495c01afdcd01491b6c57ca63244 Mon Sep 17 00:00:00 2001 From: Lauri Jesmin Date: Thu, 7 Dec 2023 22:07:17 +0200 Subject: [PATCH] pooleli --- 7/advent_1.py | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/7/advent_1.py b/7/advent_1.py index 5ee1549..c8af48b 100755 --- a/7/advent_1.py +++ b/7/advent_1.py @@ -1,30 +1,46 @@ #!/usr/bin/env python + class HandClass: def __init__(self, bid, cards): self.bid = bid self.cards = cards + self.cardnumbers = [] + self.numbers = {} x = [*cards] - x.sort(key=self.cardumber, reverse=True) + for i in x: + self.cardnumbers.append(self.cardnumber(i)) + if i not in self.numbers: + self.numbers[self.cardnumber(i)] = 1 + else: + self.numbers[self.cardnumber(i)] += 1 + x.sort(key=self.cardnumber, reverse=True) self.sorted = x + self.handstrength() - def cardumber(self, x: str): + def cardnumber(self, x: str): if x.isdigit(): return int(x) if x == "T": return 10 - if x == 'J': + if x == "J": return 11 - if x == 'Q': + if x == "Q": return 12 - if x == 'K': + if x == "K": return 13 - if x == 'A': + if x == "A": return 14 return 0 + def handstrength(self): + print(self.numbers.values()) + if len(set(self.cardnumbers)) == 1: + return 5 + if len(self.numbers)==2: + print("2") def __str__(self): - return f"Cards: {self.cards} Bid: {self.bid}, sorted: {self.sorted}" + return f"Cards: {self.cards} Bid: {self.bid}, sorted: {self.sorted}, num {self.cardnumbers}, numcount {self.numbers}" def __repr__(self): return str(self) @@ -35,6 +51,6 @@ with open("data.txt") as file: hands = [] for line in lines: - halves = line.split(' ') + halves = line.split(" ") hands.append(HandClass(halves[1], halves[0])) print(hands[-1])