鱼C论坛

 找回密码
 立即注册
查看: 1530|回复: 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()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

好厉害啊,只用了几行代码!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

过奖
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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


  10. # 递归画树模块
  11. # 递归画树
  12. def draw_tree(length):
  13.     # 你需要修改这段代码完成[美化树干]和[画叶子]功能
  14.     if length > 10:
  15.         tutu.color('saddle brown')
  16.         tutu.pensize(length / 10)
  17.         tutu.forward(length)
  18.         angle = random.randint(5,30)
  19.         number = random.randint(1,15)
  20.         tutu.right(angle)
  21.         draw_tree(length - number)
  22.         tutu.left(angle * 2)
  23.         draw_tree(length - number)
  24.         tutu.right(angle)
  25.         tutu.backward(length)
  26.     else:
  27.         tutu.color('DarkOliveGreen3')
  28.         tutu.begin_fill()
  29.         tutu.circle(5,90)
  30.         tutu.left(90)
  31.         tutu.circle(5,90)
  32.         tutu.left(90)
  33.         tutu.end_fill()
  34.         tutu.color('saddle brown')




  35. # 初始化画树位置
  36. tutu.penup()
  37. tutu.left(90)
  38. tutu.backward(200)
  39. tutu.pendown()

  40. # 调用画树函数
  41. draw_tree(70)

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






  49. # 让窗口停留
  50. turtle.done()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-12 21:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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