python 深度识别颜色_基于递归深度Python-Tu的颜色变化

如您所述,@xfx的解决方案设置了颜色,然后无意中取消了颜色,因为它不能正确处理递归的颜色。这里有一个小的修改,在进入例程时跟踪当前颜色(也可以计算),然后在退出时恢复它。这样,您就不必担心递归调用对颜色做了什么,它们应该保持原样:from turtle import Turtle, Screen

colors = ['green', 'red']

def drawzig2(turtle, depth, size):

if depth == 0:

return

color = turtle.pencolor()

turtle.pencolor(colors[depth % len(colors)])

turtle.left(90)

turtle.fd(size / 2)

turtle.right(90)

turtle.fd(size)

turtle.left(45)

drawzig2(turtle, depth - 1, size / 2)

turtle.right(45)

turtle.bk(size)

turtle.left(90)

turtle.bk(size)

turtle.right(90)

turtle.bk(size)

turtle.left(45)

drawzig2(turtle, depth - 1, size / 2)

turtle.right(45)

turtle.fd(size)

turtle.left(90)

turtle.fd(size / 2)

turtle.right(90)

turtle.pencolor(color)

yertle = Turtle()

drawzig2(yertle, 4, 100)

screen = Screen()

screen.exitonclick()

输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值