有趣的Python-turtle

1 介绍

       turtle 是 Python 中用来绘图的标准库(Python解释器在安装后import直接使用),它简单且有趣,作为 Python初学者  都可以将它作为第一个学习对象,培养程序学习的兴趣,建立编程带来的成就感,这才是更好的坚持下去。


2 基本使用

1、创建画布

- 操作步骤

  1 导入turtle

  2 创建画布(设置画布宽高与窗口标题)

        turtle.setup(宽度, 高度)   - 设置画布的宽度和高度
        turtle.title(标题)    - 设置标题

  3 循环画布


- 代码实现

# 1 导入turtle
import turtle as tt# 2 创建画布(设置画布宽高与窗口标题)
tt.setup(800, 600)     # 设置窗口大小:800*600
tt.title("ITB业生")     # 设置窗口标题# 3 循环画布
tt.mainloop()

- 效果实现


2、设置画笔

- 操作步骤

  1 导入turtle

  2 创建画布(设置画布宽高与窗口标题)

  3 设置画笔(颜色、线宽、速度)

         turtle.pencolor(颜色)    - 设置画笔画出的线条的颜色
          turtle.width(线宽)         - 设置线条的线宽
          turtle.speed(速度值)     - 设置笔移动的速度(速度值是1-10逐渐变快;0 对应的速度最慢)

4 循环画布


- 代码实现

# 1 导入turtle
import turtle as tt# 2 创建画布(设置画布宽高与窗口标题)
tt.setup(800, 600)
tt.title("ITB业生")# 3 设置画笔(颜色、线宽、速度)
tt.pencolor('red')    # 设置画笔的颜色:红色
tt.width(4)           # 设置画笔的线宽:4
tt.speed(1)           # 设置画笔移动速度:1# 4 循环画布
tt.mainloop()

- 效果实现

- 说明:画笔默认的位于在 画布的中心【原点(0,0)】位置,反向默认是水平向右。


3、控制画笔移动

- 操作步骤

  1 导入turtle

  2 创建画布(设置画布宽高与窗口标题)

  3 设置画笔(颜色、线宽、速度)

  4 控制移动画笔(前进/后退、位置)

        turtle.forward(距离) / turtle.fd(距离)     - 控制笔前进指定距离
        turtle.back(距离)/turtle.bk(距离)           - 控制笔后退指定距离
        turtle.goto(x坐标, y坐标)/ turtle.setx(x坐标) / turtle.sety(y坐标)    - 控制笔移动到指定位置(坐标原点在画布的中心)
        turtle.home()                                        - 笔回到初始状态(回到初始位置和初始方向)

  5 循环画布


- 代码实现

# 1 导入turtle
import turtle as tt# 2 创建画布(设置画布宽高与窗口标题)
tt.setup(800, 600)
tt.title("ITB业生")# 3 设置画笔(颜色、线宽、速度)
tt.pencolor('red')
tt.width(4)
tt.speed(1)# 4 移动画笔(前进/后退、位置)
tt.goto(-50, -50)        # 移动(-50, -50)
tt.forward(150)          # 前进150tt.width(2)              # 设置画笔线宽:2
tt.pencolor('green')     # 设置画笔颜色为绿色
tt.goto(100, 100)        # 移动(100, 100)
tt.back(100)             # 前进100
tt.home()                # 回到初始位置# 5 循环画布
tt.mainloop()

- 效果实现

- 说明

   1、画笔的方向 默认水平向右,所以前进的时候笔是往右移动的,后退笔向左移动。

   2、在移动之前改变笔的方向,前进和后退的代码就会改变移动轨迹。


4、控制画笔方向

- 操作步骤

  1 导入turtle

  2 创建画布(设置画布宽高与窗口标题)

  3 设置画笔(颜色、线宽、速度)

  4 控制移动画笔(前进/后退、位置)

  5 控制画笔的方向(旋转)

        turtle.left(角度) - 向左旋转指定角度
        turtle.right(角度) - 向右旋转指定角度
        turtle.setheading(角度) - 设置绝对角度值指定度数

  6 循环画布


- 代码实现

# 1 导入turtle
import turtle as tt# 2 创建画布(设置画布宽高与窗口标题)
tt.setup(800, 600)
tt.title("ITB业生")# 3 设置画笔(颜色、线宽、速度)
tt.pencolor('red')
tt.width(4)
tt.speed(1)# 4 移动画笔(前进/后退、位置)
tt.goto(0, 100)    # 移动(100, 100)# 5 控制画笔的方向(旋转)
tt.forward(120)         # 前进120tt.right(90)            # 向右旋转90度
tt.pencolor('green')    # 设置画笔的颜色:绿色
tt.forward(150)         # 前进150tt.left(90)             # 向左旋转90度
tt.pencolor('blue')     # 设置画笔的颜色:蓝色
tt.forward(120)         # 前进120tt.right(90)            # 向右旋转90度
tt.pencolor('purple')   # 设置画笔的颜色:蓝色
tt.forward(120)         # 前进120# 6 循环画布
tt.mainloop()

- 效果实现

5、落笔与抬笔

- 说明

        在通过  turtle.goto 方法移动到某一个位置,则会在画笔移动中留下痕迹,则可以通过落笔与抬笔,则可以消除画笔痕迹(想想与生活中使用笔写字一样的)


- 操作步骤

  1 导入turtle

  2 创建画布(设置画布宽高与窗口标题)

  3 设置画笔(颜色、线宽、速度)

  4 设置抬笔与落笔 

        turtle.up() - 抬起笔
        turtle.down() - 放下笔

  5 控制移动画笔(前进/后退、位置)

  6 循环画布


- 代码实现

# 1 导入turtle
import turtle as tt# 2 创建画布(设置画布宽高与窗口标题)
tt.setup(800, 600)
tt.title("ITB业生")# 3 设置画笔(颜色、线宽、速度)
tt.pencolor('red')
tt.width(4)
tt.speed(1)# 4 设置抬笔与落笔
tt.up()    # 抬笔# 5 移动画笔(前进/后退、位置)
tt.goto(0, 100)    # 移动(0, 100)
tt.down()   # 落笔
tt.forward(100)tt.up()    # 抬笔
tt.goto(-120, 100)
tt.pencolor('pink')
tt.down()   # 落笔
tt.back(120)# 6 循环画布
tt.mainloop()

- 效果实现

6、绘制圆

- 实现步骤

  1 导入turtle

  2 创建画布(设置画布宽高与窗口标题)

  3 设置画笔(颜色、线宽、速度)

  4 设置抬笔与落笔 

  5 控制移动画笔(前进/后退、位置)

  6 绘制圆(圆环、圆弧、实心圆)

        turtle.circle(半径)                    - 画一个完整的圆环
        turtle.circle(半径, 角度)         - 画指定角度对应的圆弧 
        turtle.dot(直径, 颜色)            - 直径为指定值的画实心圆及颜色

  7 循环画布


- 代码实现

# 1 导入turtle
import turtle as tt# 2 创建画布(设置画布宽高与窗口标题)
tt.setup(800, 600)
tt.title("ITB业生")# 3 设置画笔(颜色、线宽、速度)
tt.pencolor('red')
tt.width(4)
tt.speed(1)# 4 设置抬笔与落笔
tt.up()    # 抬笔# 5 移动画笔(前进/后退、位置)
tt.goto(0, 100)    # 移动(0, 100)
tt.down()   # 落笔# 6 绘制圆(圆环、圆弧、实心圆)
#  --------------- 绘制圆环  -------------------
tt.circle(50)    # 绘制半径为50的圆形#  --------------- 绘制圆弧  -------------------
tt.up()
tt.pencolor('blue')
tt.goto(-50, -100)    # 移动(-50, -100)
tt.down()
tt.circle(60, -180)   # 绘制半径为60的圆形,弧度为-180#  --------------- 绘制实心圆  -------------------
tt.up()
tt.pencolor('green')
tt.goto(100, 200)    # 移动(100, 200)
tt.down()
tt.dot(80, 'orange')   # 绘制半径为90的圆形,填充为橙色# 7 循环画布
tt.mainloop()

- 效果实现

7、颜色填充

- 实现步骤

  1 导入turtle

  2 创建画布(设置画布宽高与窗口标题)

  3 设置画笔(颜色、线宽、速度)

  4 设置抬笔与落笔 

  5 控制移动画笔(前进/后退、位置)

  6 设置开始与结束填充 

        turtle.fillcolor(颜色)         - 设置填充颜色
        turtle.begin_fill()              - 开始填充
        turtle.end_fill()               - 结束填充

  7 绘制形状

  8 循环画布


- 代码实现

# 1 导入turtle
import turtle as tt# 2 创建画布(设置画布宽高与窗口标题)
tt.setup(800, 600)
tt.title("ITB业生")# 3 设置画笔(颜色、线宽、速度)
tt.pencolor('red')
tt.width(4)
tt.speed(1)# 4 设置抬笔与落笔
tt.up()    # 5 移动画笔(前进/后退、位置)
tt.goto(0, 100)   
tt.down()   # 6 设置开始与结束填充
tt.fillcolor('pink')   # 设置填充颜色
tt.begin_fill()        # 开始填充# 7 绘制形状
tt.forward(100)
tt.left(60)
tt.forward(100)
tt.left(120)
tt.forward(100)
tt.left(120)
tt.forward(100)tt.end_fill()          # 结束填充# 8 循环画布
tt.mainloop()

- 效果实现


8、添加文字

- 实现步骤

  1 导入turtle

  2 创建画布(设置画布宽高与窗口标题)

  3 设置画笔(颜色、线宽、速度)

  4 添加文字

        turtle.write(文字内容, font=(字体名称, 字体大小, 文字类型))

                文字类型:normal(常规)、bold(加粗)、italic(倾斜)

  5 循环画布


- 代码实现

# 1 导入turtle
import turtle as tt# 2 创建画布(设置画布宽高与窗口标题)
tt.setup(800, 600)
tt.title("ITB业生")# 3 设置画笔(颜色、线宽、速度)
tt.pencolor('red')
tt.width(4)
tt.speed(1)# 4 添加文字
# 文字内容:欢迎关注:ITB业生,字体为:微软雅黑、20号、倾斜
tt.write("欢迎关注:ITB业生", font=("微软雅黑", 20, "italic"))# 5 循环画布
tt.mainloop()

- 效果实现

3 作品展示

1 小猪佩奇

- 作品展示

- 代码实现

from turtle import *def nose(x, y):  # 鼻子penup()  # 提起笔goto(x, y)  # 定位pendown()  # 落笔,开始画setheading(-30)  # 将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南)begin_fill()  # 准备开始填充图形a = 0.4for i in range(120):if 0 <= i < 30 or 60 <= i < 90:a = a + 0.08left(3)  # 向左转3度forward(a)  # 向前走a的步长else:a = a - 0.08left(3)forward(a)end_fill()  # 填充完成penup()setheading(90)forward(25)setheading(0)forward(10)pendown()pencolor(255, 155, 192)  # 画笔颜色setheading(10)begin_fill()circle(5)color(160, 82, 45)  # 返回或设置pencolor和fillcolorend_fill()penup()setheading(0)forward(20)pendown()pencolor(255, 155, 192)setheading(10)begin_fill()circle(5)color(160, 82, 45)end_fill()def head(x, y):  # 头color((255, 155, 192), "pink")penup()goto(x, y)setheading(0)pendown()begin_fill()setheading(180)circle(300, -30)circle(100, -60)circle(80, -100)circle(150, -20)circle(60, -95)setheading(161)circle(-300, 15)penup()goto(-100, 100)pendown()setheading(-30)a = 0.4for i in range(60):if 0 <= i < 30 or 60 <= i < 90:a = a + 0.08lt(3)  # 向左转3度fd(a)  # 向前走a的步长else:a = a - 0.08lt(3)fd(a)end_fill()def ears(x, y):  # 耳朵color((255, 155, 192), "pink")penup()goto(x, y)pendown()begin_fill()setheading(100)circle(-50, 50)circle(-10, 120)circle(-50, 54)end_fill()penup()setheading(90)forward(-12)setheading(0)forward(30)pendown()begin_fill()setheading(100)circle(-50, 50)circle(-10, 120)circle(-50, 56)end_fill()def eyes(x, y):  # 眼睛color((255, 155, 192), "white")penup()setheading(90)forward(-20)setheading(0)forward(-95)pendown()begin_fill()circle(15)end_fill()color("black")penup()setheading(90)forward(12)setheading(0)forward(-3)pendown()begin_fill()circle(3)end_fill()color((255, 155, 192), "white")penup()seth(90)forward(-25)seth(0)forward(40)pendown()begin_fill()circle(15)end_fill()color("black")penup()setheading(90)forward(12)setheading(0)forward(-3)pendown()begin_fill()circle(3)end_fill()def cheek(x, y):  # 腮color((255, 155, 192))penup()goto(x, y)pendown()setheading(0)begin_fill()circle(30)end_fill()def mouth(x, y):  # 嘴color(239, 69, 19)penup()goto(x, y)pendown()setheading(-80)circle(30, 40)circle(40, 80)def body(x, y):  # 身体color("red", (255, 99, 71))penup()goto(x, y)pendown()begin_fill()setheading(-130)circle(100, 10)circle(300, 30)setheading(0)forward(230)setheading(90)circle(300, 30)circle(100, 3)color((255, 155, 192), (255, 100, 100))setheading(-135)circle(-80, 63)circle(-150, 24)end_fill()def hands(x, y):  # 手color((255, 155, 192))penup()goto(x, y)pendown()setheading(-160)circle(300, 15)penup()setheading(90)forward(15)setheading(0)forward(0)pendown()setheading(-10)circle(-20, 90)penup()setheading(90)forward(30)setheading(0)forward(237)pendown()setheading(-20)circle(-300, 15)penup()setheading(90)forward(20)setheading(0)forward(0)pendown()setheading(-170)circle(20, 90)def foot(x, y):  # 脚pensize(10)color((240, 128, 128))penup()goto(x, y)pendown()setheading(-90)forward(40)setheading(-180)color("black")pensize(15)fd(20)pensize(10)color((240, 128, 128))penup()setheading(90)forward(40)setheading(0)forward(90)pendown()setheading(-90)forward(40)setheading(-180)color("black")pensize(15)fd(20)def tail(x, y):  # 尾巴pensize(4)color((255, 155, 192))penup()goto(x, y)pendown()seth(0)circle(70, 20)circle(10, 330)circle(70, 30)def setting():  # 参数设置pensize(4)hideturtle()  # 使乌龟无形(隐藏)colormode(255)  # 将其设置为1.0或255.随后 颜色三元组的r,g,b值必须在0 .. cmode范围内color((255, 155, 192), "pink")setup(840, 500)speed(10)def add_content():up()goto(-200, 100)down()write("小", font=('微软雅黑', 20, "bold"))up()goto(-190, 10)down()write("猪", font=('微软雅黑', 20, "bold"))up()goto(-180, -80)down()write("佩", font=('微软雅黑', 20, "bold"))up()goto(-170, -170)down()write("奇", font=('微软雅黑', 20, "bold"))def main():title("小猪佩奇")setting()  # 画布、画笔设置nose(-100, 100)  # 鼻子head(-69, 167)  # 头ears(0, 160)  # 耳朵eyes(0, 140)  # 眼睛cheek(80, 10)  # 腮mouth(-20, 30)  # 嘴body(-32, -8)  # 身体hands(-56, -45)  # 手foot(2, -177)  # 脚tail(148, -155)  # 尾巴add_content()done()if __name__ == '__main__':main()

2 小老虎

- 作品展示

- 代码实现

from turtle import *
import timeCOLOR = '#B2814D'def set_start(x, y, w, c=COLOR):   # 设置画笔位置、线宽、颜色penup()setx(x)sety(y)setheading(towards(0, 0))width(w)pencolor(c)pendown()speed(0)def left_rotate(time, angle, length):   # 设置画笔循环左转及前进距离for i in range(time):left(angle)forward(length)def right_rotate(time, angle, length):  # 设置画笔循环右转及前进距离for i in range(time):right(angle)forward(length)def draw_circle(radius, color, color2=''):  # 设置圆形的半径及颜色if color2 == '':color2 = colorpenup()setheading(towards(0, 0))right(90)pencolor(color)pendown()begin_fill()circle(radius)fillcolor(color2)end_fill()def fill_color(color):     # 设置填充颜色def decorator_all(func):def wrapper(*args, **kwargs):begin_fill()func(*args, **kwargs)fillcolor(color)end_fill()return wrapperreturn decorator_alldef fill_color_patch(x, y, c='#fffffb'):   # 设置开始填充set_start(x, y, 1, c=c)forward(1)def head_outline():    # 虎头外观绘制set_start(0, -40, 2.5)right(90)left_rotate(5, 3, 14)left_rotate(5, 8, 8)left_rotate(10, 5, 6.5)left_rotate(5, 5.5, 10)left_rotate(25, 4, 10)left_rotate(6, 5.5, 5)left_rotate(7, 3, 7)left_rotate(5, 10, 8)left_rotate(5, 3, 14)@fill_color('#fdb933')
def draw_head():     # 虎头绘制head_outline()pencolor('#CDCDCD')goto(0, -40)@fill_color('#fffffb')
def draw_face():    # 绘制虎脸set_start(0, -40, 2.5)right(90)left_rotate(5, 3, 14)left_rotate(1, 80, 2.5)pencolor('#fffffb')left_rotate(12, 5, 6.5)left_rotate(5, 6, 15)left_rotate(5, 5, 10)left_rotate(5, 12, 10)backward(0.5)left(65)pencolor(COLOR)backward(3)left_rotate(5, 3, 14)forward(5)def draw_moustache():   # 绘制胡须fill_color_patch(-41, -31)begin_fill()set_start(-41, -31, 2.5)right(180)left_rotate(4, 20, 4)left_rotate(1, 90, 8)right(150)left_rotate(4, 25, 3)forward(6)left_rotate(1, 110, 5.5)right(165)left_rotate(4, 15, 3.2)left(150)right_rotate(3, 30, 2.2)right_rotate(1, 105, 5)left(130)right_rotate(6, 5, 1.8)right_rotate(1, 130, 2)left(60)left_rotate(2, 30, 1)left_rotate(4, 28, 4)fillcolor('#fffffb')end_fill()set_start(-45, -28, 2.5)right(70)left_rotate(5, 2.5, 4)left_rotate(4, 9, 3)left_rotate(5, 3, 4.5)def draw_mouth():   # 绘制虎嘴set_start(-17, 22, 2.5)right_rotate(1, 45, 14)left_rotate(1, 85, 35)left_rotate(1, 70, 7)set_start(-17, 22, 2.5)right_rotate(1, 45, 14)right_rotate(1, 78, 36)right_rotate(1, 65, 6)set_start(-17, 22, 2.5)right_rotate(1, 45, 14)left_rotate(1, 85, 30)right_rotate(1, 108, 12)right_rotate(1, 140, 5)set_start(-17, 22, 2.5)right_rotate(1, 45, 14)right_rotate(1, 75, 28)left_rotate(1, 85, 10)left_rotate(1, 130, 8)set_start(3, 0, 2.5)left(90)right_rotate(5, 5, 4.8)right_rotate(4, 18, 1.8)left_rotate(1, 3, 27)right_rotate(4, 18, 1)right_rotate(1, 15, 22)right(88)right_rotate(9, 1, 4.5)begin_fill()set_start(3, 0, 2.5)left(90)right_rotate(4, 5, 4.8)right_rotate(1, 5, 2)right_rotate(1, 67, 37)right_rotate(1, 86, 18)fillcolor('#f15a22')end_fill()begin_fill()set_start(3, 0, 2.5)pencolor('#aa2116')left(90)right_rotate(2, 5, 6)right(120)left_rotate(10, 6, 2)right(55)left_rotate(11, 5.5, 1.8)right_rotate(1, 110, 10)right(100)right_rotate(9, 1, 4.5)fillcolor('#aa2116')end_fill()set_start(3, 0, 2.5)left(90)right_rotate(5, 5, 4.8)right_rotate(4, 18, 1.8)left_rotate(1, 3, 27)right_rotate(4, 18, 1)right_rotate(1, 15, 22)right(88)right_rotate(9, 1, 4.5)set_start(21, 10, 1, c='#fdb933')draw_circle(2.3, '#fdb933')set_start(10, 16, 1, c='#fdb933')draw_circle(2.3, '#fdb933')set_start(21, 19, 1, c='#fdb933')draw_circle(2.3, '#fdb933')set_start(-57, 16, 1, c='#fdb933')draw_circle(2.3, '#fdb933')set_start(-51, 24, 1, c='#fdb933')draw_circle(2.3, '#fdb933')set_start(-64, 24, 1, c='#fdb933')draw_circle(2.3, '#fdb933')def draw_nose():  # 绘制虎鼻set_start(6, 37, 1)pencolor('#e0861a')right(150)begin_fill()left_rotate(6, 3, 4)left_rotate(6, 15, 3)left_rotate(6, 3, 4)fillcolor('#e0861a')end_fill()set_start(6, 37, 1.5)right(120)begin_fill()left_rotate(5, 4, 4)left_rotate(3, 10, 3)left_rotate(5, 4, 4)left_rotate(7, 15, 0.8)left_rotate(5, 4, 4)left_rotate(5, 8, 2)left_rotate(5, 4, 4)left_rotate(7, 15, 0.8)fillcolor('#b4532a')end_fill()set_start(-16, 36, 1)pencolor('#d1923f')right(75)begin_fill()right_rotate(4, 15, 2)right_rotate(5, 26, 1)right_rotate(4, 15, 2)right_rotate(5, 26, 1)fillcolor('#d1923f')end_fill()set_start(-25, 25, 1)pencolor('#130c0e')left(110)begin_fill()left_rotate(6, 15, 1.5)left_rotate(5, 15, 1)fillcolor('#130c0e')end_fill()set_start(-10, 24, 1)pencolor('#130c0e')left(175)begin_fill()right_rotate(6, 15, 1.2)right_rotate(5, 15, 1)fillcolor('#130c0e')end_fill()def draw_eye():  # 绘制虎眼set_start(-50, 34, 1, c='#130c0e')left(115)begin_fill()left_rotate(8, 6.5, 7)left_rotate(5, 15, 7)left_rotate(5, 10, 5.5)left_rotate(5, 15, 6)left_rotate(5, 5, 9.5)left_rotate(4, 30, 2)fillcolor('#130c0e')end_fill()set_start(-57, 40, 1, c='#fffffb')left(112)begin_fill()left_rotate(8, 6.5, 5)left_rotate(5, 15, 6)left_rotate(5, 10, 4.5)left_rotate(5, 15, 5)left_rotate(5, 6.5, 7)left_rotate(4, 15, 2)fillcolor('#fffffb')end_fill()set_start(-90, 62, 1, c='#563624')draw_circle(15, '#563624')set_start(-84, 59, 1, c='#130c0e')draw_circle(9, '#130c0e')set_start(-90, 63, 1, c='#fffffb')draw_circle(3.5, '#fffffb')set_start(16, 25, 1, c='#130c0e')right(150)begin_fill()right_rotate(8, 6.5, 7)right_rotate(5, 15, 7)right_rotate(5, 10, 5.5)right_rotate(5, 15, 6)right_rotate(5, 5, 9.5)right_rotate(4, 30, 2)fillcolor('#130c0e')end_fill()set_start(24, 28, 1, c='#fffffb')right(135)begin_fill()right_rotate(8, 7, 5)right_rotate(5, 15, 5.5)right_rotate(5, 10, 4.5)right_rotate(5, 15, 4.5)right_rotate(5, 6.5, 6.5)right_rotate(4, 13, 2)fillcolor('#fffffb')end_fill()set_start(57, 48, 1, c='#563624')draw_circle(15, '#563624')set_start(53, 44, 1, c='#130c0e')draw_circle(9, '#130c0e')set_start(38, 47, 1, c='#fffffb')draw_circle(3.5, '#fffffb')def draw_brow():  # 绘制虎额头set_start(12, 88, 1, c='#130c0e')right(82)begin_fill()left_rotate(3, 3, 5)right_rotate(5, 4, 6)right_rotate(7, 24, 2.3)right_rotate(3, 5, 4.5)left_rotate(1, 90, 8)left(95)left_rotate(3, 8, 5)right_rotate(3, 25, 1.2)right_rotate(3, 11, 1.5)right_rotate(3, 25, 1.2)right_rotate(3, 3, 4.5)left_rotate(1, 85, 7)left_rotate(1, 90, 15)right_rotate(5, 30, 2.2)right_rotate(3, 9, 6)right_rotate(6, 3, 5)right_rotate(8, 18, 1.3)right_rotate(3, 10, 5.3)left_rotate(1, 90, 8)left(112)right_rotate(3, 3, 4.5)right_rotate(3, 25, 1)right_rotate(3, 10, 1.5)right_rotate(3, 28, 1)left_rotate(3, 5, 3)left_rotate(3, 25, 1)left_rotate(3, 5, 1.8)left_rotate(1, 90, 17)right_rotate(3, 35, 0.8)right_rotate(3, 10, 3)fillcolor('#130c0e')end_fill()set_start(88, -16, 1, c='#130c0e')begin_fill()right_rotate(5, 15, 3)right_rotate(4, 5.5, 3)right_rotate(3, 28, 1)right_rotate(5, 6, 4)fillcolor('#130c0e')end_fill()set_start(106, 9, 1, c='#130c0e')right(15)begin_fill()right_rotate(5, 5, 5.5)right_rotate(5, 29, 3)right_rotate(5, 5, 4.5)fillcolor('#130c0e')end_fill()set_start(110, 36, 1, c='#130c0e')left(20)begin_fill()right_rotate(3, 10, 2)right_rotate(3, 10, 6)right_rotate(5, 29, 2)forward(20)fillcolor('#130c0e')end_fill()set_start(75, 76, 1, c='#130c0e')right(105)begin_fill()left_rotate(5, 10, 4)right_rotate(6, 28, 2)right_rotate(5, 10, 5)right_rotate(6, 25, 2)fillcolor('#130c0e')end_fill()set_start(-75, 100, 1, c='#130c0e')right(108)begin_fill()right_rotate(3, 3, 8)right_rotate(4, 35, 2)right_rotate(8, 9, 3.2)fillcolor('#130c0e')end_fill()set_start(-145, 58, 1, c='#130c0e')right(30)begin_fill()left_rotate(5, 15, 5)left_rotate(3, 18, 3)left(92)right_rotate(4, 5, 6)right_rotate(1, 5, 4)fillcolor('#130c0e')end_fill()set_start(-148, 46, 1, c='#130c0e')left(40)begin_fill()right_rotate(5, 10, 6.5)right_rotate(4, 32, 2)right_rotate(4, 10, 6.5)fillcolor('#130c0e')end_fill()set_start(-138, 7, 1, c='#130c0e')left(10)begin_fill()left_rotate(5, 8, 4)left_rotate(6, 20, 1.5)left_rotate(4, 8, 4.5)fillcolor('#130c0e')end_fill()head_outline()def draw_ear():  # 绘制虎耳朵set_start(101, 74, 2.5)left(150)begin_fill()left_rotate(5, 6, 3)left_rotate(5, 12, 5)left_rotate(3, 13, 12)left_rotate(5, 12, 7)left_rotate(4, 16, 5)fillcolor('#fdb933')end_fill()set_start(94, 89, 1, c='#f3715c')right(168)begin_fill()left_rotate(5, 17, 6)left_rotate(4, 20, 5)goto(94, 89)fillcolor('#f3715c')end_fill()set_start(-125, 98, 2.5)right(165)begin_fill()right_rotate(5, 6, 3)right_rotate(5, 12, 5)right_rotate(3, 13, 12)right_rotate(5, 12, 7)right_rotate(4, 16, 4.5)fillcolor('#fdb933')end_fill()set_start(-115, 110, 1, c='#f3715c')left(160)begin_fill()right_rotate(5, 17, 6)right_rotate(4, 20, 5.5)goto(-115, 110)fillcolor('#f3715c')end_fill()head_outline()def draw_cap():  # 绘制虎帽子set_start(55, 123, 2.5)right(150)left_rotate(13, 11, 12)set_start(18, 170, 2.5)right(180)begin_fill()left_rotate(10, 16, 4)fillcolor('#130c0e')end_fill()set_start(55, 123, 2.5)right(150)begin_fill()left_rotate(13, 11, 12)fillcolor('#FF0000')end_fill()set_start(55, 123, 2.5)right(113)begin_fill()left_rotate(15, 5, 8.6)fillcolor('#228B22')end_fill()set_start(30, 142, 2.5)right(170)left_rotate(18, 8.9, 5)set_start(-2, 150, 2.5)left(178)right_rotate(4, 5, 6)set_start(55, 123, 2.5)begin_fill()goto(50.13, 124.56)setheading(148.5)left_rotate(12, 4, 10)fillcolor('#fdb933')end_fill()def draw_shadow():  # 添加阴影fill_color_patch(75, -155)_draw_shadow()@fill_color('#fab27b')
def _draw_shadow():   # 为虎周围添加阴影set_start(75, -155, 1, c='#fab27b')left_rotate(5, 8, 5)left_rotate(10, 4, 10)left_rotate(5, 6, 9)left_rotate(4, 30, 4.5)left_rotate(5, 3.5, 16)left_rotate(3, 3.5, 18)left_rotate(3, 8, 5)left_rotate(4, 20, 1.5)goto(75, -155)def draw_body():   # 绘制虎身fill_color_patch(0, -40)set_start(0, -40, 2.5)right(90)begin_fill()left_rotate(2, 3, 14)width(2.4)goto(53, -74)pencolor('#87481f')left(20)right_rotate(5, 16, 1.3)right_rotate(4, 8, 8)right_rotate(1, 15, 2)right_rotate(1, 30, 7)right_rotate(3, 28, 2)right_rotate(1, 5, 4)right_rotate(1, 90, 6)right_rotate(1, 180, 10)right_rotate(3, 5, 8)right_rotate(3, 10, 6.5)right_rotate(2, 15, 2)right_rotate(4, 7, 4.5)left_rotate(2, 18, 1)left_rotate(4, 12, 5)left_rotate(4, 15, 3)left_rotate(4, 7, 4)right_rotate(1, 82, 2)right_rotate(4, 8, 7)right_rotate(2, 12, 2)right_rotate(4, 28, 1.5)right_rotate(1, 10, 6)right_rotate(1, 60, 4.5)right(170)right_rotate(5, 10, 5)right_rotate(10, 2.5, 5)goto(-71.81, -32.68)setheading(345.5)width(2.5)pencolor(COLOR)left_rotate(2, 3, 14)fillcolor('#fdb933')end_fill()set_start(0, -42, 1)right(90)pencolor('#fffffb')begin_fill()right_rotate(5, 12, 5)right_rotate(3, 13, 15)right_rotate(3, 25, 12)backward(1)right(23)left_rotate(3, 15, 6)right(5)right_rotate(3, 20, 11)right_rotate(3, 15, 12)right_rotate(3, 15, 10)right_rotate(1, 15, 20)fillcolor('#fffffb')end_fill()set_start(37, -125, 1)pencolor('#130c0e')begin_fill()right_rotate(1, 5, 8)right_rotate(4, 30, 1.5)right_rotate(1, 20, 6)fillcolor('#130c0e')end_fill()set_start(29, -130, 1)pencolor('#130c0e')begin_fill()left(20)right_rotate(2, 5, 5)left_rotate(4, 30, 1.5)left_rotate(2, 10, 4)right_rotate(3, 20, 2)left(155)left_rotate(3, 8, 5)fillcolor('#130c0e')end_fill()set_start(-62, -139, 1)pencolor('#130c0e')begin_fill()right(65)left_rotate(2, 10, 4)left_rotate(3, 25, 1.5)left_rotate(1, 10, 2)left_rotate(3, 28, 1.5)right_rotate(3, 10, 3.5)fillcolor('#130c0e')end_fill()set_start(-71, -118, 1)pencolor('#130c0e')begin_fill()right(50)left_rotate(4, 10, 2.5)left_rotate(5, 28, 1.5)right_rotate(3, 10, 2.5)fillcolor('#130c0e')end_fill()set_start(-75, -94, 1)pencolor('#130c0e')begin_fill()right(30)left_rotate(4, 10, 2.5)left_rotate(5, 28, 1.5)right_rotate(3, 10, 2.5)fillcolor('#130c0e')end_fill()def draw_left_hand():  # 绘制虎左手set_start(0, -40, 2.5)right(90)left_rotate(4, 3, 14)left_rotate(1, 3, 8)right_rotate(1, 33, 3)begin_fill()left_rotate(1, 0, 4)left_rotate(3, 7, 7)left_rotate(4, 18, 3.8)set_start(103, -26, 2.5)right_rotate(3, 20, 4.5)right_rotate(3, 20, 2.5)right_rotate(2, 20, 2)right_rotate(2, 18, 5)right_rotate(5, 30, 1.5)right_rotate(1, 5, 8)right_rotate(1, 180, 2)right_rotate(2, 40, 3.5)set_start(106, -8, 2.5)right(90)right_rotate(2, 10, 4)right_rotate(4, 24, 3)right_rotate(2, 10, 4)right_rotate(2, 20, 5)right_rotate(5, 26, 1.2)right_rotate(2, 10, 4)right_rotate(1, 190, 4)right_rotate(1, 90, 3)set_start(128, -12, 2.5)left(155)right_rotate(3, 20, 5.5)right_rotate(2, 25, 1.5)right_rotate(1, 25, 4)right_rotate(3, 25, 2)right_rotate(2, 10, 3)set_start(124, -30, 2.5)left(150)right_rotate(8, 25, 2)right_rotate(1, 15, 3)right_rotate(2, 28, 2)set_start(115, -35, 2.5)left(100)right_rotate(5, 26, 1.8)right_rotate(1, 25, 5)set_start(103, -31, 2.5)left(135)right_rotate(5, 10, 5)right_rotate(4, 15, 6)left_rotate(1, 100, 7)right(120)right_rotate(3, 12, 2.5)left(170)right_rotate(3, 15, 3)right(110)right_rotate(3, 12, 3)left(140)right_rotate(3, 12, 3)right(120)right_rotate(3, 10, 3.5)left_rotate(1, 125, 10)right_rotate(3, 23, 3)right_rotate(3, 9, 9.5)fillcolor('#fdb933')end_fill()set_start(115, -35, 2.5)left(100)begin_fill()right_rotate(5, 26, 1.8)right_rotate(1, 25, 5)pencolor('#fffffb')width(1)left(90)right_rotate(4, 40, 2)left(90)right_rotate(4, 40, 1)left_rotate(1, 135, 5)right(80)right_rotate(3, 26, 4.5)right(130)left_rotate(3, 28, 3)fillcolor('#fffffb')end_fill()set_start(61, -33, 1)left(118)pencolor('#130c0e')begin_fill()right_rotate(3, 5, 3.5)right_rotate(4, 32, 1.5)right_rotate(3, 12, 2.7)fillcolor('#130c0e')end_fill()set_start(78, -36, 1)left(110)pencolor('#130c0e')begin_fill()left_rotate(3, 5, 3.5)right(50)right_rotate(4, 20, 1)right_rotate(5, 10, 3)fillcolor('#130c0e')end_fill()set_start(94, -35, 1)left(125)pencolor('#130c0e')begin_fill()left_rotate(3, 5, 2)right(50)right_rotate(4, 25, 2)right_rotate(3, 10, 2.2)fillcolor('#130c0e')end_fill()def draw_right_hand():  # 绘制虎右手fill_color_patch(-44.24, -37.54)set_start(-44.24, -37.54, 2.5)setheading(351.5)begin_fill()right(177)right_rotate(4, 3, 14)right(3)goto(-106, -22)set_start(-106, -22, 2.5)right(175)right_rotate(3, 5, 5.5)right_rotate(3, 22, 4)right(80)left_rotate(2, 25, 4)left_rotate(4, 35, 5.5)left_rotate(3, 30, 1.5)left_rotate(3, 20, 2)left_rotate(1, 10, 2.5)right(120)left_rotate(3, 20, 2.5)set_start(-143, -2, 2.5)left(120)left_rotate(4, 25, 3.5)left_rotate(1, 35, 3)left_rotate(2, 15, 3)left_rotate(5, 22, 3.5)left_rotate(2, 20, 2.5)set_start(-155, -7, 2.5)left(170)left_rotate(2, 35, 3.5)left_rotate(2, 12, 4.5)left_rotate(3, 28, 4)left_rotate(3, 10, 3)left_rotate(3, 28, 3.5)set_start(-158, -27, 2.5)right(130)left_rotate(3, 30, 2.5)left_rotate(4, 13, 4)left_rotate(4, 35, 2.5)set_start(-135, -25, 2.5)right(95)left_rotate(3, 12, 9)left_rotate(4, 12, 4)right_rotate(1, 90, 8)left(120)left_rotate(3, 12, 3)right(160)left_rotate(3, 10, 4)left(120)left_rotate(3, 12, 3.5)right(145)left_rotate(3, 10, 3.5)left(125)left_rotate(3, 10, 3.5)right_rotate(1, 135, 10)fillcolor('#fdb933')end_fill()fill_color_patch(-107, -23)begin_fill()set_start(-107, -23, 1)pencolor('#130c0e')right(90)right_rotate(3, 3, 3.5)left_rotate(5, 25, 1)left_rotate(3, 15, 3.2)fillcolor('#130c0e')end_fill()fill_color_patch(-122, -25)begin_fill()set_start(-122, -25, 1)pencolor('#130c0e')right(120)left_rotate(3, 5, 2)left_rotate(4, 30, 1.4)left_rotate(3, 15, 3)fillcolor('#130c0e')end_fill()def draw_clothes():  # 绘制虎衣服set_start(0, -40, 2.5)right(90)begin_fill()left_rotate(3, 3, 14)goto(47.57, -36.43)setheading(94.25)left(171)left_rotate(3, 9, 9.5)left_rotate(1, 9, 3)left_rotate(2, 23, 2.5)right(150)left_rotate(3, 10, 5)right_rotate(3, 10, 10)right_rotate(1, 20, 4)right_rotate(2, 10, 4)right(90)left_rotate(5, 5, 10)fillcolor('#FF0000')end_fill()set_start(0, -40, 2.5)right(90)begin_fill()left_rotate(1, 3, 14)left_rotate(1, 3, 13)right(88)right_rotate(5, 5, 10)goto(21.85, -91.11)setheading(197.25)right_rotate(1, 20, 4)right_rotate(2, 10, 4)right(90)left_rotate(5, 5, 10)fillcolor('#228B22')end_fill()set_start(-44.24, -37.54, 2.5)setheading(351.5)begin_fill()right(177)right_rotate(2, 3, 14)right_rotate(1, 3, 7)left(65)left_rotate(4, 7, 10)left_rotate(3, 6, 10)left_rotate(1, 0, 2)left(128)right_rotate(6, 7, 6.1)right_rotate(2, 7, 6.1)left(125)right_rotate(5, 4, 11)fillcolor('#FF0000')end_fill()set_start(-44.24, -37.54, 2.5)setheading(351.5)begin_fill()right(177)right_rotate(1, 3, 14)right_rotate(1, 3, 8)left(92)left_rotate(4, 8, 7)right(10)right_rotate(4, 3, 6)goto(-59.29, -87.30)setheading(2.5)right_rotate(2, 7, 6.1)left(125)right_rotate(5, 4, 11)fillcolor('#228B22')end_fill()def draw_tail():  # 绘制虎最下半部分set_start(53, -74, 2.4, c='#87481f')begin_fill()setheading(26)right_rotate(5, 16, 1.3)right_rotate(1, 8, 8)right_rotate(1, 8, 4)left(60)right_rotate(1, 3, 3)pencolor(COLOR)forward(5)right_rotate(4, 3, 8)left_rotate(3, 3, 7)left_rotate(2, 5, 3)left_rotate(5, 6, 6)left_rotate(3, 8, 7)left_rotate(5, 12, 6)left_rotate(5, 10, 6)left_rotate(5, 15, 2)left_rotate(2, 20, 2)left_rotate(3, 10, 3)right_rotate(2, 13, 5)right_rotate(2, 20, 6)right_rotate(2, 12, 6)right_rotate(5, 7.5, 5)right_rotate(6, 3, 4)left_rotate(4, 2, 8.5)fillcolor('#fdb933')end_fill()set_start(53, -74, 2.4, c='#87481f')begin_fill()setheading(26)right_rotate(5, 16, 1.3)right_rotate(1, 8, 8)right_rotate(1, 8, 3)left(60)right_rotate(1, 3, 2)pencolor('#130c0e')left_rotate(3, 25, 2)left_rotate(3, 5, 1.8)left_rotate(1, 78, 8.5)fillcolor('#130c0e')end_fill()set_start(83, -81, 1, c='#130c0e')begin_fill()left(140)right_rotate(5, 8, 2)left_rotate(1, 105, 5)right_rotate(2, 3, 5.5)left(50)left_rotate(3, 15, 4.1)fillcolor('#130c0e')end_fill()set_start(109, -89, 1, c='#130c0e')begin_fill()left(150)right_rotate(3, 5, 2)right_rotate(4, 15, 2)left_rotate(1, 125, 6)left_rotate(2, 3, 7)left(85)left_rotate(3, 15, 6.05)left(68)right_rotate(3, 5, 5)fillcolor('#130c0e')end_fill()set_start(132, -88, 1, c='#130c0e')begin_fill()left(180)right_rotate(5, 10, 4.1)left_rotate(1, 100, 6)left_rotate(2, 5, 7)left(75)left_rotate(5, 10, 5)left(75)right_rotate(3, 8, 4.5)fillcolor('#130c0e')end_fill()set_start(150, -71, 1, c='#130c0e')begin_fill()right(140)right_rotate(5, 15, 5.8)left_rotate(1, 130, 6)left_rotate(2, 10, 5)left(30)left_rotate(5, 15, 5.6)left(81)right_rotate(3, 8, 3)fillcolor('#130c0e')end_fill()set_start(147, -51, 1, c='#130c0e')begin_fill()right(125)right_rotate(5, 10, 4)left(145)left_rotate(2, 10, 6.5)left_rotate(6, 14, 2)left_rotate(4, 22, 2)fillcolor('#130c0e')end_fill()def draw_drum():  # 绘制虎身上的鼓set_start(-136, -12, 2, c='#87481f')begin_fill()right_rotate(1, 78, 17)right_rotate(5, 30, 1.2)right_rotate(1, 30, 17)fillcolor('#FF0000')end_fill()set_start(-140, -2, 2, c='#87481f')begin_fill()left_rotate(1, 108, 10)right_rotate(1, 90, 4)left_rotate(5, 16, 7)left_rotate(5, 19, 6.5)forward(4)left_rotate(5, 18, 7.5)left_rotate(5, 18, 6.1)left_rotate(1, 180, 3)left_rotate(1, 95, 10)fillcolor('#FF0000')end_fill()set_start(-156.34, 48.19, 1, c='#87481f')setheading(199)left(12)left_rotate(10, 14.5, 5.8)set_start(-140, 12, 1, c='#87481f')setheading(20)begin_fill()left_rotate(5, 14, 5.2)left_rotate(3, 15, 4.5)left_rotate(5, 18, 5)left_rotate(5, 16, 5.5)left_rotate(3, 18, 5)fillcolor('#fffffb')end_fill()set_start(-143, 14, 2.5, c='#FF0000')left_rotate(1, 117, 17)left_rotate(1, 90, 9)left(90)left_rotate(3, 5, 3.5)set_start(-146.8, 14, 2.5, c='#FF0000')left_rotate(1, 120, 14)set_start(-150, 34, 2.5, c='#FF0000')left_rotate(1, 120, 8.5)left(100)left_rotate(3, 17, 4)set_start(-140, 16, 2.5, c='#FF0000')left_rotate(1, 115, 14)right_rotate(1, 90, 13)right(90)right_rotate(4, 16, 4.5)set_start(-136, 18, 2.4, c='#FF0000')left_rotate(1, 112, 12)set_start(-142, 24, 2.5, c='#FF0000')left_rotate(1, 35, 10)set_start(-145, 32, 2.5, c='#FF0000')left_rotate(1, 115, 6)right_rotate(1, 85, 10)right(40)right_rotate(3, 18, 2)right_rotate(1, 95, 10)set_start(-149, 44, 2.5, c='#FF0000')left(60)right_rotate(3, 22, 3)set_start(-166, 20, 2.4)right(100)right_rotate(4, 32, 3)right_rotate(2, 12, 3.5)left_rotate(2, 10, 4)left_rotate(4, 25, 2.5)set_start(-196, 35, 2.4)draw_circle(3.5, COLOR, '#FF0000')set_start(-127, 38, 2.4)left(60)right_rotate(4, 32, 3)right_rotate(2, 12, 3.5)left_rotate(6, 28, 2)left_rotate(3, 15, 2)set_start(-115, 33, 2.4)draw_circle(3.5, COLOR, '#FF0000')def add_text():  # 添加文字set_start(-200, -30, 2, c='red')write("虎", font=("微软雅黑", 16, "bold"))set_start(-195, -70, 2, c='red')write("虎", font=("微软雅黑", 16, "bold"))set_start(-190, -110, 2, c='red')write("生", font=("微软雅黑", 16, "bold"))set_start(-185, -150, 2, c='red')write("威", font=("微软雅黑", 16, "bold"))if __name__ == '__main__':title('小老虎')setup(420, 400, 150, 150)screensize(400, 380, '#FFE4E1')time.sleep(3)draw_head()draw_face()draw_eye()draw_nose()draw_mouth()draw_ear()draw_cap()draw_brow()draw_shadow()draw_body()draw_moustache()draw_left_hand()draw_right_hand()draw_clothes()draw_tail()draw_drum()set_start(1000, 1000, 2.5)add_text()done()

4 感谢

结语】以上是 Python标准库 turtle 模块的使用及作品介绍,还存在很多不全面的地方,欢迎各位大佬指点;如果觉得笔者不易,欢迎关注点赞,给予我记录更多文章的动力!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146432.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全-webshell绕过,hash碰撞,webshell绕过原理

目录 一、题目 1.1 1.2 1.3 1.4 1.5 二、绕过动态检测引擎的一次尝试 三、一个比赛中的webshell 四、webshell绕过的原理以及哈希碰撞 五、JSP解释流程导致的绕过&#xff08;QT比赛&#xff09; 5.1环境 5.2例子 一、题目 这里我们通过几道题目来给大家讲解 1.…

Springboot3 + MyBatis-Plus + MySql + Uniapp 实现商品规格选择sku(附带自设计数据库,最新保姆级教程)

Springboot3 MyBatis-Plus MySql Uniapp 实现商品规格选择sku&#xff08;附带自设计数据库&#xff0c;最新保姆级教程&#xff09; 1、效果展示2、数据库设计2.1 商品表2.2 商品价格和规格中间表2.3 商品规格表 3、后端代码3.1 model3.2 vo3.3 mapper、server、serverImp3…

前端-javaScript:jquery补充

jquery绑定事件的方式 1.直接使用事件函数 &("div").click(function(){alert(1)}) 2.用统一的on函数绑定事件 on(事件类型&#xff0c;事件函数) $("div").on("click",function(){alert(2)}) 事件类型以参数的类型传递 --->可以同时绑…

go webapi上传文件 部属到linux

go厉害的地方&#xff0c;linux服务器上无需安装任务依赖就可以运行&#xff0c;大赞&#xff01; 一、编译 #在Goland中cmd中执行 go env -w GOARCHamd64 go env -w GOOSlinux go build main.go # 切换回来 否则无法运行 go env -w GOOSwindows go run main.go 拷贝到linux服…

C++——关联式容器(4):set和map

在接触了诸如二叉搜索树、AVL树、红黑树的树形结构之后&#xff0c;我们对树的结构有了大致的了解&#xff0c;现在引入真正的关联式容器。 首先&#xff0c;先明确了关联式容器的概念。我们之前所接触到的如vector、list等容器&#xff0c;我们知道他们实际上都是线性的数据结…

使用pe工具制作ubuntu备份系统和还原系统

使用pe工具制作ubuntu备份系统和还原系统 备份系统还原系统修复磁盘教程修复引导教程为什么使用pe工具 1,因为我个人觉得这个工具实现起来比systemback软件操作起来报错少些,而且装的快,其他系统同理 实验准备 1,一个电脑,一个pe启动U盘 备份系统 插入U盘,开机进入pe系…

[JavaEE] UDP协议

目录 再谈端口号 一、端口号的划分 二、UDP协议 三、UDP的特点 再谈端口号 一、端口号的划分 0-1023&#xff1a;知名端口号&#xff0c;端口号固定&#xff0c;其中包括HTTP&#xff0c;FTP&#xff0c;SSH等广为使用的应用层协议。 1024-65535&#xff1a;操作系统动态分…

数据结构|二叉搜索树

&#x1f36c; mooridy-CSDN博客 &#x1f36c;数据结构专栏&#xff08;更新中&#xff09; 目录 1. ⼆叉搜索树的概念 2. ⼆叉搜索树的性能分析 3.⼆叉搜索树key和key/value key搜索场景 key/value搜索场景 4. 二叉搜索树的代码实现 4.1 ⼆叉搜索树的插⼊ 4.2 ⼆叉搜索…

java----LinkedHashMap

.由键决定:有序、不重复、无索引 .这里的有序指的是保证存储和去除的元素顺序一致 原理:底层数据结构依然是哈希表,只是每个键值对元素又额外多了一个双链表的机制记录存储的顺序。 内容来自:集合进阶-09-LinkedHashMap_哔哩哔哩_bilibili

ChatGPT 在国内使用的方法

AI如今很强大&#xff0c;聊聊天、写论文、搞翻译、写代码、写文案、审合同等等&#xff0c;ChatGPT 真是无所不能~ 作为一款出色的大语言模型&#xff0c;ChatGPT 实现了人类般的对话交流&#xff0c;最主要是能根据上下文进行互动。 接下来&#xff0c;我将介绍 ChatGPT 在国…

hackmyvm靶场--zon

环境 攻击机kali 靶机 未知 主机探测 因为在同一个局域网内使用ARP协议探测存活主机 靶机为192.168.56.128 端口探测 常见的80和22端口 那么一定是寻找web漏洞拿shell了 后台扫描 后台扫描常用dirsearch和gobuster,有时候小字典可能不太行&#xff0c;可以尝试换个大点…

JAVA——数据流、序列化流

目录 一、DataOutputStream(数据输出流&#xff09; 二、DataInputStream(数据输入流&#xff09; 三、序列化流 1.1 ObjectOutputStream(对象字节输出流&#xff09; 1.2 OutputStream(对象字节输入流&#xff09; 四、补充 一、DataOutputStream(数据输出流&#xff09; …

Flutter 获取手机连接的Wifi信息

测试版本 Flutter&#xff1a;3.7.6Dart:2.19.3 network_info_plus: 4.0.1 前言 我在做设备配网的时候&#xff0c;需要选择配网的WiFi。用下拉选择框展示WiFi列表。现在有个需求&#xff1a;默认展示的设备为手机连接的wifi。要实现这个需求只要能够获取到手机连接的wifi信息…

直接插入排序(C语言实现)

目录 1.直接插入排序介绍 2.实现思路 3.动图展示 4.代码实现 &#xff08;升序&#xff09; 单趟排序实现 单趟排序代码 直接插入排序函数 5.代码测试 6.时空复杂度分析 时间复杂度O(N^2) 空间复杂度O(1) 1.直接插入排序介绍 插入排序&#xff0c;又叫直接插入排序。…

(十七)MATLAB读取Gazebo话题信息

在仿真实验过程中&#xff0c;我们有时需要实时读取ROS及Gazebo话题&#xff0c;目前互联网上关于读取ROS的话题资料较多&#xff0c;读取Gazebo话题的参考资料较少&#xff0c;本文将以Ubuntu下固定翼仿真为例&#xff0c;展示如果通过MATLAB的插件GazeboPlugin读取Gazebo话题…

MoFA: 迈向AIOS

再一次向朋友们致以中秋的祝福&#xff01; MoFA (Modular Framework for Agents)是一个独特的模块化AI智能体框架。MoFA以组合&#xff08;Composition)的逻辑和编程&#xff08;Programmable&#xff09;的方法构建AI智能体。开发者通过模版的继承、编程、定制智能体&#xf…

C++:多态(协变,override,final,纯虚函数抽象类,原理)

目录 编译时多态 函数重载 模板 运行时多态 多态的实现 实现多态的条件 协变 析构函数的重写 override 关键字 final 关键字 重载、重写、隐藏对比 纯虚函数和抽象类 多态的原理 多态是什么&#xff1f; 多态就是有多种形态 多态有两种&#xff0c;分别是编译时…

【前端学习】作用域实际问题学习记录

在复习apply&#xff0c;call&#xff0c;bind的时候遇到了一个作用域问题。 let name noName let age 18function getMyname() {console.log(my name is this.name, and I am this.age years old); }getMyname() }在全局使用let定义变量name和age之后&#xff0c;运行g…

★ C++进阶篇 ★ 二叉搜索树

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;我将继续和大家一起学习C进阶篇第三章----二叉搜索树 ~ ❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️ 澄岚主页&#xff1a;椎名澄嵐-CSDN博客 C基础篇专栏&#xff1a;★ C基础篇 ★_椎名澄嵐的博客-CSD…

从零开始学习TinyWebServer

写在前面 项目参考&#xff1a;https://github.com/qinguoyi/TinyWebServer 写作框架/图参考&#xff1a;https://blog.csdn.net/qq_52313711/article/details/136356042?spm1001.2014.3001.5502 原本计划是&#xff0c;先将项目代码大概看一遍&#xff0c;然后再着手实现一下…