1.源代码

import turtle

# 创建海龟对象
aj = turtle.Pen()

# 设置海龟的速度和背景颜色
aj.speed(5)
turtle.bgcolor("black")

# 定义头部函数
def head():
    aj.color("green")   # 设置海龟的颜色为绿色
    aj.fd(160)   # 海龟前进160个像素
    x = aj.xcor()   # 获取当前海龟的x坐标
    aj.seth(90)   # 设置海龟的朝向为正北方向
    aj.begin_fill()   # 开始填充形状
    aj.circle(x/2, 180)   # 以x/2为半径,画180度的半圆
    aj.end_fill()   # 结束填充形状
    aj.penup()   # 抬起海龟的画笔
    aj.goto(33, 37)   # 移动海龟到指定位置
    aj.pendown()   # 放下海龟的画笔
    aj.dot(13, "black")   # 在指定位置画一个半径为13的黑色圆点
    aj.penup()   # 抬起海龟的画笔
    aj.goto(126, 37)   # 移动海龟到指定位置
    aj.pendown()   # 放下海龟的画笔
    aj.dot(13, "black")   # 在指定位置画一个半径为13的黑色圆点
    aj.penup()   # 抬起海龟的画笔
    aj.home()   # 移动海龟到初始位置
    aj.pendown()   # 放下海龟的画笔
    aj.hideturtle()   # 隐藏海龟
    aj.fd(160)   # 海龟前进160个像素
    aj.seth(90)   # 设置海龟的朝向为正北方向
    aj.circle(x/2, 60)   # 以x/2为半径,画60度的弧
    aj.right(90)   # 右转90度
    aj.pensize(5)   # 设置画笔宽度为5
    aj.fd(30)   # 海龟前进30个像素
    aj.penup()   # 抬起海龟的画笔
    aj.home()   # 移动海龟到初始位置
    aj.fd(160)   # 海龟前进160个像素
    aj.seth(90)   # 设置海龟的朝向为正北方向
    aj.circle(x/2, 120)   # 以x/2为半径,画120度的弧
    aj.right(90)   # 右转90度
    aj.pensize(5)   # 设置画笔宽度为5
    aj.pendown()   # 放下海龟的画笔
    aj.fd(30)   # 海龟前进30个像素
    aj.penup()   # 抬起海龟的画笔
    aj.home()   # 移动海龟到初始位置
    aj.penup()   # 抬起海龟的画笔

# 定义身体函数
def body():
    aj.pensize(0)   # 设置画笔宽度为0,即隐藏画笔
    aj.home()   # 移动海龟到初始位置
    aj.showturtle()   # 显示海龟
    aj.goto(0, -7)   # 移动海龟到指定位置
    aj.pendown()   # 放下海龟的画笔
    aj.begin_fill()   # 开始填充形状
    aj.fd(160)   # 海龟前进160个像素
    aj.right(90)   # 右转90度
    aj.fd(120)   # 海龟前进120个像素
    aj.right(90)   # 右转90度
    aj.fd(160)   # 海龟前进160个像素
    y = aj.ycor()   # 获取当前海龟的y坐标
    aj.right(90)   # 右转90度
    aj.fd(120)   # 海龟前进120个像素
    aj.end_fill()   # 结束填充形状

# 定义腿部函数
def legs():
    aj.penup()   # 抬起海龟的画笔
    aj.goto(33, -169)   # 移动海龟到指定位置
    aj.pendown()   # 放下海龟的画笔
    aj.pensize(32)   # 设置画笔宽度为32
    aj.fd(43)   # 海龟前进43个像素
    aj.penup()   # 抬起海龟的画笔
    aj.goto(130, -169)   # 移动海龟到指定位置
    aj.pendown()   # 放下海龟的画笔
    aj.fd(43)   # 海龟前进43个像素
    aj.penup()   # 抬起海龟的画笔

# 定义手部函数
def hands():
    aj.home()   # 移动海龟到初始位置
    aj.pensize(30)   # 设置画笔宽度为30
    aj.goto(-18, -77)   # 移动海龟到指定位置
    aj.pendown()   # 放下海龟的画笔
    aj.left(90)   # 左转90度
    aj.fd(65)   # 海龟前进65个像素
    aj.penup()   # 抬起海龟的画笔
    aj.goto(179, -77)   # 移动海龟到指定位置
    aj.pendown()   # 放下海龟的画笔
    aj.fd(65)   # 海龟前进65个像素
    aj.penup()   # 抬起海龟的画笔
    aj.hideturtle   # 隐藏海龟
    aj.fd(100)   # 海龟前进100个像素
    aj.hideturtle()   # 隐藏海龟
    aj.circle(100)   # 以半径100画圆
    aj.circle(100, 360, 59)   # 以半径100、起始角度360、结束角度59画圆
    aj.reset()   # 重置画布

# 调用函数绘制图形
head()
body()
legs()
hands()

# 结束绘制
turtle.done()

2.运行结果

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐