条件、循环、函数定义 练习

对前面的代码进行优化,用for,while,if,def实现:

  1. 画五角星
    import turtle
    turtle.setup(600,400)
    for i in range(5):
        turtle.forward(150)
        turtle.left(144)
    done

     

     

  2. 画同心圆
    import turtle
    turtle.setup(600,400)
    turtle.speed(10)
    
    for i in range(10):
        turtle.up()
        turtle.goto(0,-20*(i+1))
        turtle.down()
        turtle.circle(20*(1+i))
    done

     

     

  3. 画太阳花
    import turtle
    turtle.setup(600,400)
    turtle.speed(10)
    turtle.bgcolor('purple')
    turtle.color('red','yellow')
    turtle.begin_fill()
    while True:
        turtle.forward(250)
        turtle.left(170)
        if(abs(turtle.pos()))<1:
            break
    turtle.end_fill()
    done

     

  4. 画五个角星
    import turtle
    turtle.speed(10)
    turtle.setup(288,192)
    turtle.shape('turtle')
    turtle.setup(800,533)
    turtle.bgcolor('red')
    turtle.color('yellow')
    turtle.fillcolor('yellow')
    
    def my_goto(x,y):
        turtle.up()
        turtle.goto(x,y)
        turtle.down()
    
    def my_star(a):
        turtle.begin_fill()
        for i in range(5):
            turtle.forward(a)
            turtle.right(144)
        turtle.end_fill()
    
    def my_littlestar(b):
        turtle.begin_fill()
        for i in range(5):
            turtle.right(72)
            turtle.forward(b)
            turtle.right(144)
        turtle.end_fill()
     
    my_goto(-360,180)
    my_star(60)
    my_goto(-280,240)
    my_littlestar(20)
    my_goto(-240,200)
    my_littlestar(20)
    my_goto(-240,160)
    my_littlestar(20)
    my_goto(-280,120)
    my_littlestar(20)
    
    turtle.hideturtle()

     e:画◇花瓣的太阳花

    import turtle
    turtle.speed(10)
    turtle.bgcolor('black')
    turtle.fillcolor('white')
    
    turtle.begin_fill()
    for i in range(36):      
        for j in range(2):        
            turtle.forward(100)
            turtle.right(45)
            turtle.forward(100)
            turtle.right(135)      
        turtle.right(10)
    turtle.right(90)
    turtle.forward(400)
    turtle.end_fill()
    
    done

     

posted @ 2017-09-13 16:46  201506050096谢阳  阅读(121)  评论(0编辑  收藏  举报