海龟画图----python画美队盾牌

之前上选修课老师首先讲的就是海龟画图,后来还是稍微研究一下了的,海龟画图其实还是蛮有趣的,随便改一些数据可以画出意料之外的惊喜。

开发环境 :win10 + pycharm

需要的包就是turtle,这个是python自带的,不需要下载,所以在使用的时候直接导入即可

import turtle

t = turtle.Turtle()
# speed中参数代表速度快慢,其中0是最快的
# 1-9中,9是最快的
t.speed(0)

# 设置提笔位置
def setpen(x, y) :
    # 提笔
    t.penup()
    # 到达指定位置
    t.goto(x, y)
    # 下笔可以画出线条
    t.pendown()
    # 旋转一个角度后恢复到正X轴方向
    t.setheading(0)

# 画三角形
# def draw_triangle(l) :
#     for i in range(3) :
#         t.forward(l)
#         t.right(120)

# 画任意多边形,其中l为边长,n为边的个数
# 计算机中规定36条边是圆
# def polygon(l, n) :
#     angle = 360 / n
#     for i in range(n) :
#         t.forward(l)
#         t.right(angle)

# 画五角星
# def five_star(l) :
#     t.fillcolor('red')
#     t.begin_fill()
#     for i in range(5) :
#         t.forward(l)
#         t.right(144)
#     t.end_fill()

# 画正方形
# def square(x, y, l) :
#     setpen(x, y)
#     for i in range(4) :
#         t.forward(l)
#         t.right(90)

# 画一条正方形
# def square_line(x, y, l, n, d) :
#     for i in range(n) :
#         inner_x = x + (l + d) * i
#         square(inner_x, y, l)

# square_line(-100, 100, 60, 5, 10)

# 画语文作业本
# def square_matrix(x, y, l, n, d, m) :
#     for i in range(m) :
#         inner_y = y - (l + d) * i
#         square_line(x, inner_y, l, n, d)

# square_matrix(-100, 200, 50, 5, 10, 5)
# five_star(100)

# 一个好玩的画
# for i in range(500) :
#     t.forward(i)
#     t.left(91)

def circle(x, y, r, color) :
    n = 36
    angle = 360 / n
    pi = 3.1415926535
    c = 2 * pi * r
    l = c / n
    start_x = x - l / 2
    start_y = y + r
    setpen(start_x, start_y)
    t.pencolor(color)
    t.fillcolor(color)
    t.begin_fill()
    for i in range(n):
        t.forward(l)
        t.right(angle)
    t.end_fill()

def five_star(l) :
    setpen(0, 0)
    t.setheading(162)
    t.forward(150)
    t.setheading(0)
    t.fillcolor('white')
    t.begin_fill()
    t.hideturtle()
    t.penup()
    for i in range(5):
        t.forward(l)
        t.right(144)
    t.end_fill()

def draw():
     circle(0, 0, 300, 'red')
     circle(0, 0, 250, 'white')
     circle(0, 0, 200, 'red')
     circle(0, 0, 150, 'blue')
     five_star(284)

draw()
# 固定弹出框,画完图像后框不直接消失
turtle.done()

上面注释的代码画了一些简单的形状,初学一般都会玩的一些东西,然后未注释的部分,画的是一个美队的盾牌,结果如下 :

中间还有一段注释的话,是画一个好玩的图,可以试着运行一下代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值