• lad@programming.dev
    link
    fedilink
    English
    arrow-up
    6
    ·
    10 days ago

    There’s also a gotcha with default parameters:

    def fun(a = []):
        a += [1]
        return a
    
    fun()
    print(fun()) # [1, 1]
    
    issues I had with the tool you linked

    I tried to make a link to this code in this visual debugger, but a link is made broken and can’t be used without urlencoding spaces (I guess). Also the tool doesn’t produce visual output in DuckDuckGo browser on Android

      • lad@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 days ago

        Yeah, I wrote code and pressed get URL, but then I copied what was shown in the window

        The clipboard content:

        https://memory-graph.com/#code=+%23+What+is%2Bthe+output+of+this+Python+program%3F%0A+++%0Adef+fun%28a+%3D+%5B%5D%29%3A+%0A++++a+%2B%3D+%5B1%5D%0A++++return+a%0Afun%28%29+print%28fun%28%29%29
        

        The window text:

        The following URL has been copied to your clipboard with:
        
            The current code
            Set breakpoints
            Playback timestep
            Play/Pause state
        
        https://memory-graph.com/#code=+%23+What+is+the+output+of+this+Python+program? +++ def+fun(a+=+[]):+ ++++a++=+[1] ++++return+a fun()+print(fun())
        

        The latter doesn’t work, and I didn’t think of checking the former