Python中利用海龟绘图(Turtle方法)画个钟表盘

目录

前言

        一、海龟绘图(Turtle)是什么?

        二、Turtle 方法

        三、主要代码和效果图

        1.引入库

                  2.主要代码

                  3.全部代码

                        ​​​效果图

总结


前言

朋友发来个习题,挺有趣的,就简单的py一下。


一、海龟绘图(Turtle)是什么?

海龟绘图很适合用来引导孩子学习编程。 最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言。使用海龟绘图可以编写重复执行简单动作的程序画出精细复杂的形状。

二、Turtle 方法


海龟动作

移动和绘制forward() | fd() 前进backward() | bk() | back() 后退right() | rt() 右转left() | lt() 左转goto() | setpos() | setposition() 前往/定位setx() 设置x坐标sety() 设置y坐标setheading() | seth() 设置朝向home() 返回原点circle() 画圆dot() 画点stamp() 印章clearstamp() 清除印章clearstamps() 清除多个印章undo() 撤消speed() 速度获取海龟的状态position() | pos() 位置towards() 目标方向xcor() x坐标ycor() y坐标heading() 朝向distance() 距离设置与度量单位degrees() 角度radians() 弧度

画笔控制

绘图状态pendown() | pd() | down() 画笔落下penup() | pu() | up() 画笔抬起pensize() | width() 画笔粗细pen() 画笔isdown() 画笔是否落下颜色控制color() 颜色pencolor() 画笔颜色fillcolor() 填充颜色填充filling() 是否填充begin_fill() 开始填充end_fill() 结束填充更多绘图控制reset() 重置clear() 清空write() 书写

海龟状态

可见性showturtle() | st() 显示海龟hideturtle() | ht() 隐藏海龟isvisible() 是否可见外观shape() 形状resizemode() 大小调整模式shapesize() | turtlesize() 形状大小shearfactor() 剪切因子settiltangle() 设置倾角tiltangle() 倾角tilt() 倾斜shapetransform() 变形get_shapepoly() 获取形状多边形

三、主要代码和效果图

1.引入库

使用之前先引入相对应的支持库

import time
import turtle

2.主要代码

# 绘制时钟,同时在时钟上方输出文字
t = turtle.Pen()
t.shape('turtle')
t.pensize(8)
t.pendown()
t.speed(10)
t.setpos(-55,-40)
t.color('black')
t.ht()
t.penup()
t.home()
t.pendown()
t.speed(10)
t.setpos(0,120)
t.penup()
t.home()
t.ht()
t.pendown()
t.pensize(5)
# 绘制时钟刻度
for i in range(1, 13):
    t = turtle.Pen()
    t.color('green')
    t.penup()
    t.seth(-30 * i + 90)
    t.forward(160)
    t.pendown()
    t.forward(30)
    t.penup()
    t.forward(25)
    t.write(str(i), align="left", font=10)
    t.home()
    t.ht()
# 绘制时钟外框
t.home()
t.color('red')
t.setpos(0,-260)
t.pendown()
t.pensize(10)
t.circle(260)
t.ht()
# 写上名字
t.pensize(5)
t.penup()
t.setpos(0, 130)
t.pendown()
t.color('black')
t.write('中国时刻', align="center", font=('新细明体', 18))
t.ht()
time.sleep(5)

3.全部代码

import time
import turtle
# 绘制时钟,同时在时钟上方输出文字
t = turtle.Pen()
t.shape('turtle')
t.pensize(8)
t.pendown()
t.speed(10)
t.setpos(-55,-40)
t.color('black')
t.ht()
t.penup()
t.home()
t.pendown()
t.speed(10)
t.setpos(0,120)
t.penup()
t.home()
t.ht()
t.pendown()
t.pensize(5)
# 绘制时钟刻度
for i in range(1, 13):
    t = turtle.Pen()
    t.color('green')
    t.penup()
    t.seth(-30 * i + 90)
    t.forward(160)
    t.pendown()
    t.forward(30)
    t.penup()
    t.forward(25)
    t.write(str(i), align="left", font=10)
    t.home()
    t.ht()
# 绘制时钟外框
t.home()
t.color('red')
t.setpos(0,-260)
t.pendown()
t.pensize(10)
t.circle(260)
t.ht()
# 写上名字
t.pensize(5)
t.penup()
t.setpos(0, 130)
t.pendown()
t.color('black')
t.write('中国时刻', align="center", font=('新细明体', 18))
t.ht()
time.sleep(5)

效果图


总结

根源题目不能说很像,应该是一模一样,哈哈哈哈。

猜你喜欢

转载自blog.csdn.net/lyy20200202/article/details/127519337