Ad function description
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -3,6 +3,15 @@ from pathlib import Path
|
||||
|
||||
|
||||
def parse(line):
|
||||
"""This function parses an input line to nested tuples of length 2. It works by stripping the
|
||||
outermost bracket-pair from the string and counting the 'depth' of the current brackets. After
|
||||
we got back to the initial level 0 the next comma marks the index where the left and right part
|
||||
are seperated. Those will be parsed by a recursive parse call each. If there is no comma on a
|
||||
line, we are on the deepest level of this branch and return the value as integer. Else the left
|
||||
and right return value will be returned in a tuple. The result will bea binary tree of the
|
||||
snailfish number.
|
||||
Alternatives for parsing would be eval() - which can be unsafe and is slow - or json.parse().
|
||||
"""
|
||||
if ',' not in line:
|
||||
return int(line)
|
||||
line = line[1:-1]
|
||||
|
||||
Reference in New Issue
Block a user