Turtle库画中秋-手把手教学

一、导入库

import turtle
import time
import random

二、绘制各个部分

绘制画面标题

def draw_title():
    turtle.penup()
    turtle.pencolor('white')
    turtle.goto(random.randint(-100,100), 250)
    turtle.write("中  秋",align="center", font=("Xingkai", 30, "bold"))

在图像的右下角可以属上你的名字

def draw_name():
    turtle.penup()
    turtle.pencolor('white')
    turtle.goto(280,-250)
    turtle.write("xxxx", align="center", font=("Xingkai", 10, "bold"))

 画月亮

def draw_moon():
    turtle.color(BC)
    turtle.fillcolor('Gold')
    turtle.penup()
    turtle.goto(-150, 0)
    turtle.pendown()
    turtle.begin_fill()
    turtle.circle(110)
    turtle.end_fill()

写上诗,这里都可以替换,替换成你觉得符合意境的诗

def draw_words():
    turtle.penup()
    turtle.pencolor('Yellow1')
    turtle.goto(350, -130)
    turtle.write("秋\n风\n度\n河\n上\n", align="center", font=("STXingkai", 40, "bold"))
    time.sleep(1)
    turtle.goto(250, -130)
    turtle.write("大\n野\n入\n苍\n穹\n", align="center", font=("STXingkai", 40, "bold"))
    time.sleep(1)
    turtle.goto(150, -130)
    turtle.write("佳\n令\n随\n人\n至\n", align="center", font=("STXingkai", 40, "bold"))
    time.sleep(1)
    turtle.goto(50, -130)
    turtle.write("明\n月\n傍\n云\n生\n", align="center", font=("STXingkai", 40, "bold"))

画山,背景里绵延不绝的山脉

def draw_mountain():
    turtle.fillcolor('grey21')
    turtle.pencolor('grey31')
    turtle.pensize(4)
    turtle.penup()
    turtle.goto(-500, -250)
    turtle.begin_fill()
    turtle.pendown()
    turtle.left(15)
    turtle.forward(400)
    turtle.right(30)
    turtle.forward(200)
    turtle.left(40)
    turtle.forward(300)
    turtle.right(50)
    turtle.forward(300)
    turtle.goto(500, -300)
    turtle.goto(-500, -300)
    turtle.end_fill()

画云

def draw_cloud():
    step = 0.5  # 画弧时的步长
    angle = 1  # 每次改变的角度
    disize = 0.2  # 每次增加或减少的线宽
    psize = 5  # 初始线宽
    turtle.pencolor('WhiteSmoke')
    turtle.pencolor('Gainsboro')
    turtle.pensize(psize)
    turtle.penup()
    turtle.goto(-500, 200)
    turtle.pendown()
    turtle.forward(250)
    for i in range(90):
        psize += disize
        turtle.pensize(psize)
        turtle.right(angle)
        turtle.forward(step)
    for i in range(90):
        psize -= disize
        turtle.pensize(psize)
        turtle.right(angle)
        turtle.forward(step)
    turtle.forward(100)
    for i in range(90):
        psize += disize
        turtle.pensize(psize)
        turtle.left(angle)
        turtle.forward(step)
    for i in range(90):
        psize -= disize
        turtle.pensize(psize)
        turtle.left(angle)
        turtle.forward(step)
    turtle.forward(600)

 初始化画笔

def draw_init():
    turtle.setup(800, 600)
    turtle.bgcolor(BC)

    # 添加分支语句
    option = input("请输入画笔速度选项:1(快速)或 2(慢速)\n")
    if option == '1':
        turtle.speed(10)
    elif option == '2':
        turtle.speed(3)
    else:
        print("无效选项,请输入 1 或 2")
        return

 主函数

def main():
    draw_init()
    draw_title()

    draw_moon()
    draw_cloud()
    draw_mountain()
    draw_name()
    draw_words()
    turtle.exitonclick()  #点击才关闭画画窗口

if __name__ == '__main__':
    main()

注意事项(完整的代码和数据在公主号和Github)

大家白嫖代码的时候一定要注意我标明的三方库版本,版本不对很有可能会出错,此外最后保存数据的方法有很多大家可以自行挑选更改。

最重要的一点,如果大家觉得有用跪求大家给我一个关注和点赞,有不懂的问题可以私信或者留言,欢迎大家关注我的公主号,上面有更多更详尽的代码,喜欢白嫖的有福了。

GitHub - Maekfei/Spider-projects: 爬虫实战,集合了数十个爬虫实战代码,全都亲测可用,借鉴麻烦点个star谢谢 同时欢迎访问我的github主页,copy代码的同时别忘了点个star 谢谢!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Maek_fei

感谢看官老爷!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值