[Pythonedu-wg] py-zero: simple loop syntax

Jeff Allen ja.py at farowl.co.uk
Fri Jul 15 02:38:52 EDT 2016


I approach this by introducing the for-loop initially as a way to work 
through a list. Those of us brought up on the numerical for-loop in C or 
early Java think that iterating a list is "advanced", but free of these 
preconceptions, children find it natural to write:

>>> mylist = [2,3,"bang!"]

>>> for thing in mylist:

         print(3*thing)


Then range() can be introduced as "a smart way to make a list of 
numbers", which I demonstrate with list(range(10)) to avoid a discussion 
of lazy iteration.

Jeff Allen

On 13/07/2016 06:19, Jurgis Pralgauskis wrote:
> When I try to teach Python to young kids,
> the big obstacle is describing repetitions in simple way (esp. for 
> turtle graphics).
>
> for a in range(4):
>    ....
>
> More py-zen would be
>
> repeat 4:
>     ....
>
> I know some py-edu-environments have their hacks:
> https://codecombat.com/ has "loop"  instead "while True"
> http://reeborg.ca/reeborg.html  has the "repeat n"
>
> Also "repeat n" is used in Blockly 
> <https://blockly-games.appspot.com/turtle?lang=en&level=10> and 
> Scratch <https://wiki.scratch.mit.edu/wiki/Repeat_%28%29_%28block%29>
>
> Also scientific math env has kind of hack for  "range(a, b+1)" -- just 
> "[a..b]" (like in CoffeScript 
> <https://coffeescript-cookbook.github.io/chapters/syntax/for_loops>):
> http://sagemath.wikispaces.com/Counters
>
> ***My ideas, how to implement this***
>
> - IDE (plugin)  translates  "repeat" to "for.." on run,
>   on errors it could translate stuff back to hide any mention of 
> "for.." :)
>   or after translation could leave a comment that it has been 
> translated from "repeat"
>
> - PEP for even more edu-friendly Python: "py-zero" (with possibly more 
> stuff)? :)
>
> -- 
> Jurgis Pralgauskis
> tel: 8-616 77613;
> Don't worry, be happy and make things better ;)
> http://galvosukykla.lt
>
>
> _______________________________________________
> Pythonedu-wg mailing list
> Pythonedu-wg at python.org
> https://mail.python.org/mailman/listinfo/pythonedu-wg

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythonedu-wg/attachments/20160715/669cad6a/attachment.html>


More information about the Pythonedu-wg mailing list