Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for How Deep by lechrudik
def how_deep(structure, k=1, a=None):
if not a:
a = []
a.append(k)
for s in structure:
if isinstance(s, (tuple, list)):
how_deep(s, k + 1, a)
return max(a)
if __name__ == '__main__':
print("Example:")
print(how_deep((1, 2, 3)))
# These "asserts" are used for self-checking and not for an auto-testing
assert how_deep((1, 2, 3)) == 1
assert how_deep((1, 2, (3,))) == 2
assert how_deep((1, 2, (3, (4,)))) == 3
assert how_deep(()) == 1
assert how_deep(((),)) == 2
assert how_deep((((),),)) == 3
assert how_deep((1, (2,), (3,))) == 2
assert how_deep((1, ((),), (3,))) == 3
print("Coding complete? Click 'Check' to earn cool rewards!")
Sept. 11, 2020
Comments: