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

注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式。

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

  1. 画五角星
    import turtle
    for i in range(5):
        turtle.forward(100)
        turtle.right(144)

     

  2. 画同心圆
    import turtle
    for i in range(5):
        turtle.up()
        turtle.goto(0,-20*(1+i))
        turtle.down()
        turtle.circle(20*(1+i))

     

  3. 画太阳花
    import turtle
    while True:
        turtle.forward(200)
        turtle.left(170)
        if(abs(turtle.pos()))<1:
            break

     

  4. 画五个角星
    import turtle
    turtle.speed(10)
    turtle.bgcolor('red')
    
    def goto(x,y):
        turtle.up()
        turtle.goto(x,y)
        turtle.down()
    
    def draw(r):
        turtle.color('yellow')
        turtle.fillcolor('yellow')
        turtle.begin_fill()
        for i in range(5):
            turtle.forward(r)
            turtle.right(144)
        turtle.end_fill()
    
    goto(-550,200)
    draw(230)
    
    goto(-260,280)
    turtle.left(45)
    draw(60)
    
    goto(-165,175)
    turtle.left(50)
    draw(60)
    
    goto(-185,100)
    turtle.right(95)
    draw(60)
    
    goto(-260,0)
    turtle.left(45)
    draw(60)
    
    turtle.hideturtle()

     

     

  5. 画◇花瓣的太阳花

    import turtle
    def my_lx(brad):
        brad.forward(100)
        brad.right(45)
        brad.forward(100)
        brad.right(135)
    
    def my_art():
        window=turtle.Screen()
        window.bgcolor("purple")
        brad=turtle.Turtle()
        brad.shape("turtle")
        brad.color("orange")
        brad.speed('fastest')
        for i in range(1,37):
            my_lx(brad)
            my_lx(brad)
            brad.left(10)
        brad.right(90)
        brad.forward(300)
    my_art()

     

posted on 2017-09-13 16:11  106洪瑜  阅读(115)  评论(0)    收藏  举报