Tidy up explode function
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-12-18 20:55:57 +01:00
parent 014d2947fe
commit ca9e753968

View File

@@ -74,28 +74,26 @@ def explode(n, lvl=0):
return True, 0, left, right
lvl += 1
res, left, l, r = explode(left, lvl)
if not res:
res, right, l, r = explode(right, lvl)
if not res:
return False, n, None, None
if res:
if r:
if isinstance(right, int):
right = right + r
r = None
else:
res, right = explode_to_right(right, r)
r = None if res else r
return True, (left, right), l, r
res, right, l, r = explode(right, lvl)
if res:
if l:
if isinstance(left, int):
left = left + l
l = None
else:
res, left = explode_to_left(left, l)
if res:
l = None
l = None if res else l
return True, (left, right), l, r
if r:
if isinstance(right, int):
right = right + r
r = None
else:
res, right = explode_to_right(right, r)
if res:
r = None
return True, (left, right), l, r
return False, n, None, None
def split(n):