From 3ac99f409ae6545e2f4fece4d9397d28d35b279b Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Thu, 2 Dec 2021 13:58:27 +0100 Subject: Set file encoding when reading --- 2020/07/puzzle-1.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to '2020/07/puzzle-1.py') diff --git a/2020/07/puzzle-1.py b/2020/07/puzzle-1.py index da054b8..3c0d0e3 100755 --- a/2020/07/puzzle-1.py +++ b/2020/07/puzzle-1.py @@ -9,15 +9,12 @@ def holds_bag(innerbags: list[str]) -> bool: return False elif "shiny gold" in innerbags: return True - - for subbag in innerbags: - if holds_bag(bdict[subbag]): - return True + return any(holds_bag(bdict[subbag]) for subbag in innerbags) def main() -> None: global bdict - with open("input", "r") as f: + with open("input", "r", encoding="utf-8") as f: lines = f.readlines() for baginfo in lines: @@ -26,12 +23,7 @@ def main() -> None: # { bag_name: [contained_bag_1, containted_bag_2, ...] } bdict[data[0]] = [" ".join(b.split(" ")[-3:][:2]) for b in data[1].split(",")] - count = 0 - for bag in bdict: - if holds_bag(bdict[bag]): - count += 1 - - print(count) + print(sum(holds_bag(bdict[bag]) for bag in bdict)) if __name__ == "__main__": -- cgit v1.2.3