Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Recursion of course! solution in Clear category for How Deep by pavel.borisofff
def how_deep(tpl: tuple):
if isinstance(tpl, tuple):
return 1 + max(how_deep(item) for item in tpl) if tpl else 1
else:
return 0
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!")
Dec. 9, 2021
Comments: