鱼C论坛

 找回密码
 立即注册
查看: 1296|回复: 4

[技术交流] 递归画树

[复制链接]
发表于 2020-4-10 20:42:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import turtle
import random

# 初始化模块
turtle.setup(800, 600)  # 设置窗口大小
tutu = turtle.Turtle()  # 召唤图图
tutu.speed(0)  # 设置绘图速度
# 你需要在这里编写[设置背景颜色]和[隐藏图图]的代码
turtle.bgcolor('SkyBlue4')
tutu.hideturtle()


# 递归画树模块
# 递归画树
def draw_tree(length):
    # 你需要修改这段代码完成[美化树干]和[画叶子]功能
    if length > 10:
        tutu.color('saddle brown')
        tutu.pensize(length / 10)
        tutu.forward(length)
        angle = random.randint(5,30)
        number = random.randint(1,15)
        tutu.right(angle)
        draw_tree(length - number)
        tutu.left(angle * 2)
        draw_tree(length - number)
        tutu.right(angle)
        tutu.backward(length)
    else:
        tutu.color('DarkOliveGreen3')
        tutu.begin_fill()
        tutu.circle(5,90)
        tutu.left(90)
        tutu.circle(5,90)
        tutu.left(90)
        tutu.end_fill()
        tutu.color('saddle brown')




# 初始化画树位置
tutu.penup()
tutu.left(90)
tutu.backward(200)
tutu.pendown()

# 调用画树函数
draw_tree(70)

# 写字模块
tutu.penup()
tutu.goto(-260,-200)
tutu.pendown()
tutu.color('gainsboro')
cotent = '庭中有奇树,绿叶发华滋。'
tutu.write(cotent,font=('space mono',16,'normal'))






# 让窗口停留
turtle.done()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-10 20:52:36 | 显示全部楼层

好厉害啊,只用了几行代码!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-10 20:59:01 | 显示全部楼层
Smile_again. 发表于 2020-4-10 20:52
好厉害啊,只用了几行代码!!!

过奖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 15:20:31 | 显示全部楼层
帮忙改成了代码格式
import turtle
import random

# 初始化模块
turtle.setup(800, 600)  # 设置窗口大小
tutu = turtle.Turtle()  # 召唤图图
tutu.speed(0)  # 设置绘图速度
# 你需要在这里编写[设置背景颜色]和[隐藏图图]的代码
turtle.bgcolor('SkyBlue4')
tutu.hideturtle()


# 递归画树模块
# 递归画树
def draw_tree(length):
    # 你需要修改这段代码完成[美化树干]和[画叶子]功能
    if length > 10:
        tutu.color('saddle brown')
        tutu.pensize(length / 10)
        tutu.forward(length)
        angle = random.randint(5,30)
        number = random.randint(1,15)
        tutu.right(angle)
        draw_tree(length - number)
        tutu.left(angle * 2)
        draw_tree(length - number)
        tutu.right(angle)
        tutu.backward(length)
    else:
        tutu.color('DarkOliveGreen3')
        tutu.begin_fill()
        tutu.circle(5,90)
        tutu.left(90)
        tutu.circle(5,90)
        tutu.left(90)
        tutu.end_fill()
        tutu.color('saddle brown')




# 初始化画树位置
tutu.penup()
tutu.left(90)
tutu.backward(200)
tutu.pendown()

# 调用画树函数
draw_tree(70)

# 写字模块
tutu.penup()
tutu.goto(-260,-200)
tutu.pendown()
tutu.color('gainsboro')
cotent = '庭中有奇树,绿叶发华滋。'
tutu.write(cotent,font=('space mono',16,'normal'))






# 让窗口停留
turtle.done()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-11 15:22:53 | 显示全部楼层
隔壁繁星吖 发表于 2020-4-11 15:20
帮忙改成了代码格式

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 08:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表