From 66e344a5e5b4ac6937a98d7b976a55eef1561446 Mon Sep 17 00:00:00 2001 From: Pascal Lais Date: Sat, 18 Dec 2021 20:39:37 +0100 Subject: [PATCH] Replace 'type() is' with 'isinstance()' --- day-18/day-18.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/day-18/day-18.py b/day-18/day-18.py index acbde30..4b59717 100644 --- a/day-18/day-18.py +++ b/day-18/day-18.py @@ -33,12 +33,12 @@ def parse(line): def explode_to_left(n, l): (left, right) = n res = True - if type(right) == int: + if isinstance(right, int): right = right + l else: res, right = explode_to_left(right, l) if not res: - if type(left) == int: + if isinstance(left, int): left = left + l res = True else: @@ -51,12 +51,12 @@ def explode_to_left(n, l): def explode_to_right(n, r): (left, right) = n res = True - if type(left) == int: + if isinstance(left, int): left = left + r else: res, left = explode_to_right(left, r) if not res: - if type(right) == int: + if isinstance(right, int): right = right + r res = True else: @@ -67,10 +67,10 @@ def explode_to_right(n, r): def explode(n, lvl=0): - if type(n) is int: + if isinstance(n, int): return False, n, None, None (left, right) = n - if lvl == 4 and type(left) is int and type(right) is int: + if lvl == 4 and isinstance(left, int) and isinstance(right, int): return True, 0, left, right else: res, left, l, r = explode(left, lvl+1) @@ -80,7 +80,7 @@ def explode(n, lvl=0): return False, n, None, None else: if l: - if type(left) is int: + if isinstance(left, int): left = left + l l = None else: @@ -90,7 +90,7 @@ def explode(n, lvl=0): return True, (left, right), l, r else: if r: - if type(right) is int: + if isinstance(right, int): right = right + r r = None else: @@ -101,7 +101,7 @@ def explode(n, lvl=0): def split(n): - if type(n) is int: + if isinstance(n, int): if 10 <= n: return True, (n // 2, (n + 1) // 2) else: @@ -116,11 +116,11 @@ def split(n): def magnitude(n): m = 0 (left, right) = n - if type(left) is int: + if isinstance(left, int): m += 3 * left else: m += 3 * magnitude(left) - if type(right) is int: + if isinstance(right, int): m += 2 * right else: m += 2 * magnitude(right)