开发者社区> 问答> 正文

python做什么作品

python做什么作品

展开
收起
云计算小粉 2018-05-10 20:11:03 1928 0
2 条回答
写回答
取消 提交回答
  • 自动化测试

    自动化运维

    测试开发

    爬虫

    大数据分析

    AI人工智能

    科学计算

    2019-11-27 17:01:31
    赞同 展开评论 打赏
  • Do what you want to do.

    An example:

    !/usr/bin/env python3

    """ turtlegraphics-example-suite:

             tdemo_forest.py
    

    Displays a 'forest' of 3 breadth-first-trees
    similar to the one in tree.
    For further remarks see tree.py

    This example is a 'breadth-first'-rewrite of
    a Logo program written by Erich Neuwirth. See
    http://homepage.univie.ac.at/erich.neuwirth/
    """
    from turtle import Turtle, colormode, tracer, mainloop
    from random import randrange
    from time import clock

    def symRandom(n):

    return randrange(-n,n+1)
    

    def randomize( branchlist, angledist, sizedist ):

    return [ (angle+symRandom(angledist),
              sizefactor*1.01**symRandom(sizedist))
                     for angle, sizefactor in branchlist ]
    

    def randomfd( t, distance, parts, angledist ):

    for i in range(parts):
        t.left(symRandom(angledist))
        t.forward( (1.0 * distance)/parts )
    

    def tree(tlist, size, level, widthfactor, branchlists, angledist=10, sizedist=5):

    # benutzt Liste von turtles und Liste von Zweiglisten,
    # fuer jede turtle eine!
    if level > 0:
        lst = []
        brs = []
        for t, branchlist in list(zip(tlist,branchlists)):
            t.pensize( size * widthfactor )
            t.pencolor( 255 - (180 - 11 * level + symRandom(15)),
                        180 - 11 * level + symRandom(15),
                        0 )
            t.pendown()
            randomfd(t, size, level, angledist )
            yield 1
            for angle, sizefactor in branchlist:
                t.left(angle)
                lst.append(t.clone())
                brs.append(randomize(branchlist, angledist, sizedist))
                t.right(angle)
        for x in tree(lst, size*sizefactor, level-1, widthfactor, brs,
                      angledist, sizedist):
            yield None
    

    def start(t,x,y):

    colormode(255)
    t.reset()
    t.speed(0)
    t.hideturtle()
    t.left(90)
    t.penup()
    t.setpos(x,y)
    t.pendown()
    

    def doit1(level, pen):

    pen.hideturtle()
    start(pen, 20, -208)
    t = tree( [pen], 80, level, 0.1, [[ (45,0.69), (0,0.65), (-45,0.71) ]] )
    return t
    

    def doit2(level, pen):

    pen.hideturtle()
    start(pen, -135, -130)
    t = tree( [pen], 120, level, 0.1, [[ (45,0.69), (-45,0.71) ]] )
    return t
    

    def doit3(level, pen):

    pen.hideturtle()
    start(pen, 190, -90)
    t = tree( [pen], 100, level, 0.1, [[ (45,0.7), (0,0.72), (-45,0.65) ]] )
    return t
    

    Hier 3 Baumgeneratoren:

    def main():

    p = Turtle()
    p.ht()
    tracer(75,0)
    u = doit1(6, Turtle(undobuffersize=1))
    s = doit2(7, Turtle(undobuffersize=1))
    t = doit3(5, Turtle(undobuffersize=1))
    a = clock()
    while True:
        done = 0
        for b in u,s,t:
            try:
                b.__next__()
            except:
                done += 1
        if done == 3:
            break
    
    tracer(1,10)
    b = clock()
    return "runtime: %.2f sec." % (b-a)
    

    if name == '__main__':

    main()
    mainloop()
    
    2019-07-17 22:24:59
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Python系列直播第一讲——Python中的一切皆对象 立即下载
Python 脚本速查手册 立即下载
给运维工程师的Python实战课 立即下载