用pythonturtle画简单的动物,用python turtle画龙猫

大家好,小编来为大家解答以下问题,用python的turtle画炫酷的图,用pythonturtle画简单的动物,现在让我们一起来看看吧!

Source code download: 本文相关源码

python 画哆啦A梦

大家好,我是Dream,今天在视频中无意间看到了哆啦A梦,这让我勾起了许多童年回忆,不知道大家有没有看过哆啦A梦呢?

那我们能不能用python画出哆啦A梦来呢?话不多说,让我们行起来吧!

先看一下成品吧,是不是栩栩如生呢,哈哈哈

7b7d0c0999dde2db69683122833fe2e1.png

说明:

在这里主要用到了定义函数和turtle的一些方法,有兴趣的小伙伴可以去学习一下turtle,我可以先向大家介绍一下turtle

tuetle主要包括三个部分

1.画布(canvas)

画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。

设置画布的大小:

如:turtle.screensize(800,600, “green”)

turtle.screensize() #返回默认大小(400, 300)

import turtle as t

t.speed(10)

t.pensize(8)

t.hideturtle()

t.screensize(500, 500, bg=‘white’)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心python基础知识点总结

如:

turtle.setup(width=0.6,height=0.6)

turtle.setup(width=800,height=800, startx=100, starty=100)

2. 画笔的状态

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

3. 画笔的属性

画笔(画笔的属性,颜色、画线的宽度等)

turtle.pensize():设置画笔的宽度;

turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", “red”,也可以是RGB 3元组。

turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

接下来代码展示:

#encoding=utf-8

#Drawcat 画多啦A梦

from turtle import *

# 无轨迹跳跃

def my_goto(x, y):

penup()

goto(x, y)

pendown()

# 眼睛

def eyes():

tracer(False)

a = 2.5

for i in range(120):

if 0 <= i < 30 or 60 <= i < 90:

a -= 0.05

lt(3)

fd(a)

else:

a += 0.05

lt(3)

fd(a)

tracer(True)

# 胡须

def beard():

my_goto(-37, 135)

seth(165)

fd(60)

my_goto(-37, 125)

seth(180)

fd(60)

my_goto(-37, 115)

seth(193)

fd(60)

my_goto(37, 135)

seth(15)

fd(60)

my_goto(37, 125)

seth(0)

fd(60)

my_goto(37, 115)

seth(-13)

fd(60)

# 嘴巴

def mouth():

my_goto(5, 148)

seth(270)

fd(100)

seth(0)

circle(120, 50)

seth(230)

circle(-120, 100)

# 围巾

def scarf():

fillcolor('#e70010')

begin_fill()

seth(0)

fd(200)

circle(-5, 90)

fd(10)

circle(-5, 90)

fd(207)

circle(-5, 90)

fd(10)

circle(-5, 90)

end_fill()

# 鼻子

def nose():

my_goto(-10, 158)

fillcolor('#e70010')

begin_fill()

circle(20)

end_fill()

# 黑眼睛

def black_eyes():

seth(0)

my_goto(-20, 195)

fillcolor('#000000')

begin_fill()

circle(13)

end_fill()

pensize(6)

my_goto(20, 205)

seth(75)

circle(-10, 150)

pensize(3)

my_goto(-17, 200)

seth(0)

fillcolor('#ffffff')

begin_fill()

circle(5)

end_fill()

my_goto(0, 0)

# 脸

def face():

fd(183)

fillcolor('#ffffff')

begin_fill()

lt(45)

circle(120, 100)

seth(90)

eyes()

seth(180)

penup()

fd(60)

pendown()

seth(90)

eyes()

penup()

seth(180)

fd(64)

pendown()

seth(215)

circle(120, 100)

end_fill()

# 头型

def head():

penup()

circle(150, 40)

pendown()

fillcolor('#00a0de')

begin_fill()

circle(150, 280)

end_fill()

# 画哆啦A梦

def Doraemon():

# 头部

head()

# 围脖

scarf()

# 脸

face()

# 红鼻子

nose()

# 嘴巴

mouth()

# 胡须

beard()

# 身体

my_goto(0, 0)

seth(0)

penup()

circle(150, 50)

pendown()

seth(30)

fd(40)

seth(70)

circle(-30, 270)

fillcolor('#00a0de')

begin_fill()

seth(230)

fd(80)

seth(90)

circle(1000, 1)

seth(-89)

circle(-1000, 10)

# print(pos())

seth(180)

fd(70)

seth(90)

circle(30, 180)

seth(180)

fd(70)

# print(pos())

seth(100)

circle(-1000, 9)

seth(-86)

circle(1000, 2)

seth(230)

fd(40)

# print(pos())

circle(-30, 230)

seth(45)

fd(81)

seth(0)

fd(203)

circle(5, 90)

fd(10)

circle(5, 90)

fd(7)

seth(40)

circle(150, 10)

seth(30)

fd(40)

end_fill()

# 左手

seth(70)

fillcolor('#ffffff')

begin_fill()

circle(-30)

end_fill()

# 脚

my_goto(103.74, -182.59)

seth(0)

fillcolor('#ffffff')

begin_fill()

fd(15)

circle(-15, 180)

fd(90)

circle(-15, 180)

fd(10)

end_fill()

my_goto(-96.26, -182.59)

seth(180)

fillcolor('#ffffff')

begin_fill()

fd(15)

circle(15, 180)

fd(90)

circle(15, 180)

fd(10)

end_fill()

# 右手

my_goto(-133.97, -91.81)

seth(50)

fillcolor('#ffffff')

begin_fill()

circle(30)

end_fill()

# 口袋

my_goto(-103.42, 15.09)

seth(0)

fd(38)

seth(230)

begin_fill()

circle(90, 260)

end_fill()

my_goto(5, -40)

seth(0)

fd(70)

seth(-90)

circle(-70, 180)

seth(0)

fd(70)

#铃铛

my_goto(-103.42, 15.09)

fd(90)

seth(70)

fillcolor('#ffd200')

# print(pos())

begin_fill()

circle(-20)

end_fill()

seth(170)

fillcolor('#ffd200')

begin_fill()

circle(-2, 180)

seth(10)

circle(-100, 22)

circle(-2, 180)

seth(180-10)

circle(100, 22)

end_fill()

goto(-13.42, 15.09)

seth(250)

circle(20, 110)

seth(90)

fd(15)

dot(10)

my_goto(0, -150)

# 画眼睛

black_eyes()

if __name__ == '__main__':

screensize(800,600, "#f0f0f0")

pensize(3) # 画笔宽度

speed(90) # 画笔速度

Doraemon()

my_goto(-300, -300)

write('by:比Jackson Yee 帅亿点的男人Dream Xu', font=("Bradley Hand ITC", 20, "bold"))

my_goto(230,200)

mainloop()

然后就可以画出来了!

dd0bc783da37c7528e71b143ed7caecd.png

这就是我今天要分享给大家的东西了,希望大家喜欢

如果你喜欢的话,那就不要吝惜你的一键三连了~谢谢大家!

21046ba9afcb4e0ca88c0f31e634299d.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值