Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
basic question isinstance
#2
Yes, recursive algorithms are always difficult to understand.
When I have a program of which I do not understand the results, I add print statements to them so I can follow what happens from step to step. Like this:
def sumtree(l):
    tot = 0
    print(f"New instance of sumtree({l})")
    for x in l:
        if not isinstance(x, list):
            tot += x
            # print(tot)
        else:
            tot += sumtree(x)
            # print('xxx')
    print(f"End of sumtree({l}), returning: {tot}")
    return tot


o = [1, [2, [3, 4], 5], 6, [7, 8]]
print(sumtree(o))
Output:
New instance of sumtree([1, [2, [3, 4], 5], 6, [7, 8]]) New instance of sumtree([2, [3, 4], 5]) New instance of sumtree([3, 4]) End of sumtree([3, 4]), returning: 7 End of sumtree([2, [3, 4], 5]), returning: 14 New instance of sumtree([7, 8]) End of sumtree([7, 8]), returning: 15 End of sumtree([1, [2, [3, 4], 5], 6, [7, 8]]), returning: 36 36
Does this make clear what happens?
Reply


Messages In This Thread
basic question isinstance - by tames - Nov-22-2020, 12:44 PM
RE: basic question isinstance - by ibreeden - Nov-22-2020, 01:33 PM
RE: basic question isinstance - by tames - Nov-22-2020, 06:34 PM
RE: basic question isinstance - by bowlofred - Nov-22-2020, 06:53 PM
RE: basic question isinstance - by ibreeden - Nov-22-2020, 07:45 PM
RE: basic question isinstance - by tames - Nov-23-2020, 07:20 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Basic Coding Question: Exit Program Command? RockBlok 3 644 Nov-19-2023, 06:31 PM
Last Post: deanhystad
  [solved] Basic question on list matchiing paul18fr 7 1,951 May-02-2022, 01:03 PM
Last Post: DeaD_EyE
  Very basic calculator question BoudewijnFunke 4 1,999 Dec-10-2021, 10:39 AM
Last Post: BoudewijnFunke
  Trying to understand how isinstance(values, collections.Iterable) work. quazirfan 7 4,280 Aug-10-2021, 08:10 AM
Last Post: snippsat
  basic question about tuples and immutability sudonym3 6 2,991 Oct-18-2020, 05:11 PM
Last Post: sudonym3
  Help with isinstance command (very simple code) Laplace12 2 2,044 Jul-30-2020, 05:26 AM
Last Post: Laplace12
  isinstance() always return true for object type check Yoki91 2 2,605 Jul-22-2020, 06:52 PM
Last Post: Yoki91
  Basic Pyhton for Rhino 6 question about variables SaeedSH 1 2,171 Jan-28-2020, 04:33 AM
Last Post: Larz60+
  Basic Beginner question NHeav 4 2,857 Sep-13-2019, 11:43 AM
Last Post: NHeav
  Basic coding question with Python Than999 3 3,166 Jul-17-2019, 04:36 PM
Last Post: jefsummers

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020