How to think like a Computer Scientist: 课后习题第十八章4

#-------------------------------------------------------------------------------
# Name:        module1
# Purpose:
#
# Author:      penglaixy
#
# Created:     18/09/2013
# Copyright:   (c) penglaixy 2013
# Licence:     <your licence>
#-------------------------------------------------------------------------------

import turtle
import time

def draw_triangle(t, order, size, colorchangedepth=-1):
    if order == 0:
        t.forward(size)
        t.right(120)
        t.forward(size)
        t.right(120)
        t.forward(size)
        t.right(120)
    else:
            order -= 1
            if 0 == colorchangedepth:
                changecolor = True
            else:
                changecolor = False
            colorchangedepth -= 1
            draw_triangle(t,order, size/2, colorchangedepth)
            t.penup()
            t.forward(size/2)
            t.pendown()
            if True == changecolor:
                t.color("magenta")
            draw_triangle(t,order, size/2, colorchangedepth)
            t.penup()
            t.right(120)
            t.forward(size/2)
            t.left(120)
            t.pendown()
            if True == changecolor:
                t.color("blue")
            draw_triangle(t,order, size/2, colorchangedepth)
            t.penup()
            t.left(120)
            t.forward(size/2)
            t.right(120)
            t.pendown()
            if True == changecolor:
                t.color("red")

wn = turtle.Screen()
wn.bgcolor("green")
wn.title("yuxiangyang is testing!")


tess = turtle.Turtle()
tess.color("red")
tess.pensize(2)
tess.penup()
tess.forward(-200)
tess.right(90)
tess.forward(100)
tess.left(90)
tess.pendown()

tess.left(60)
draw_triangle(tess, 5, 400, 0)


time.sleep(10)
wn.bye()

猜你喜欢

转载自blog.csdn.net/penglaixy/article/details/11820535