Our schools in Portland (both public and private) seem to favor using MIT Scratch before introducing a lexical language, if 
The Martian Math one (appended) is deliberately way above their reading level but the challenge was simply to take printed sheets with the source code and match them with the corresponding applications.  Connect the dots, so to speak. 


The code below will not run in Python3 as it's cut and paste from the Codesters environment, which some new modules (sprites, stage...) to __builtins__

It's still Python though.

"""
I have one baseball and want to completely surround it with others.
One way: put six around the center one on a table, then three on
top, three on the bottom. With real baseballs, this would be
difficult.

To see an animation of what I'm talking about, check here:
http://www.4dsolutions.net/ocn/graphics/cubanim.gif

For a lot more on the mathematics, check here:
http://oeis.org/A005901
"""
stage.set_background("mars")
sprite = codesters.Sprite("person10")
sprite.go_to(0, -100)
sprite.set_say_color("white") # for speaking

def shell(n):
    """
    input n should be a non-negative integer
    says how many balls in any layer
    """
    if (not isinstance(n, int)) or n < 0:
        raise TypeError # signals we're done!
    if n == 0:
        return 1 # the central ball
    return 10 * n * n + 2  # otherwise, if n > 0

# put in a negative number to stop
while True:  # loop until TypeError is raised by user 
    try:
        guess = int(sprite.ask("What layer number? (-1 to quit): >"))
        how_many = shell(guess)
        sprite.say("That layer has " + str(how_many) + " balls in it.")
        stage.wait(3)
       
    except TypeError:
        sprite.say("OK! Thanks for playing.")
        stage.wait(2)
        break

sprite.say("Bye!")