mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-23 05:42:29 +00:00
python-3.6.zip added from Github
README.cosmo contains the necessary links.
This commit is contained in:
parent
75fc601ff5
commit
0c4c56ff39
4219 changed files with 1968626 additions and 0 deletions
62
third_party/python/Lib/turtledemo/tree.py
vendored
Executable file
62
third_party/python/Lib/turtledemo/tree.py
vendored
Executable file
|
@ -0,0 +1,62 @@
|
|||
#!/usr/bin/env python3
|
||||
""" turtle-example-suite:
|
||||
|
||||
tdemo_tree.py
|
||||
|
||||
Displays a 'breadth-first-tree' - in contrast
|
||||
to the classical Logo tree drawing programs,
|
||||
which use a depth-first-algorithm.
|
||||
|
||||
Uses:
|
||||
(1) a tree-generator, where the drawing is
|
||||
quasi the side-effect, whereas the generator
|
||||
always yields None.
|
||||
(2) Turtle-cloning: At each branching point
|
||||
the current pen is cloned. So in the end
|
||||
there are 1024 turtles.
|
||||
"""
|
||||
from turtle import Turtle, mainloop
|
||||
from time import clock
|
||||
|
||||
def tree(plist, l, a, f):
|
||||
""" plist is list of pens
|
||||
l is length of branch
|
||||
a is half of the angle between 2 branches
|
||||
f is factor by which branch is shortened
|
||||
from level to level."""
|
||||
if l > 3:
|
||||
lst = []
|
||||
for p in plist:
|
||||
p.forward(l)
|
||||
q = p.clone()
|
||||
p.left(a)
|
||||
q.right(a)
|
||||
lst.append(p)
|
||||
lst.append(q)
|
||||
for x in tree(lst, l*f, a, f):
|
||||
yield None
|
||||
|
||||
def maketree():
|
||||
p = Turtle()
|
||||
p.setundobuffer(None)
|
||||
p.hideturtle()
|
||||
p.speed(0)
|
||||
p.getscreen().tracer(30,0)
|
||||
p.left(90)
|
||||
p.penup()
|
||||
p.forward(-210)
|
||||
p.pendown()
|
||||
t = tree([p], 200, 65, 0.6375)
|
||||
for x in t:
|
||||
pass
|
||||
|
||||
def main():
|
||||
a=clock()
|
||||
maketree()
|
||||
b=clock()
|
||||
return "done: %.2f sec." % (b-a)
|
||||
|
||||
if __name__ == "__main__":
|
||||
msg = main()
|
||||
print(msg)
|
||||
mainloop()
|
Loading…
Add table
Add a link
Reference in a new issue