python turtle库的几个小demo

一、先上图

一个同切圆和五角星

上代码

import turtle
#同切圆
turtle.pensize(2)
turtle.circle(10)
turtle.circle(40)
turtle.circle(80)
turtle.circle(160)

#五角星
from turtle import *
color(‘red‘,‘yellow‘)
begin_fill()
for i in range(5):
    fd(200)
    rt(144)
end_fill()
done()

  至于turtle库的用法,这里有教程链接 python绘图turtle库详解 https://blog.csdn.net/zengxiantao1994/article/details/76588580

二、小猪佩奇

# coding:utf-8
import turtle as t
# 绘制小猪佩奇
# =======================================

t.pensize(4)
t.hideturtle()
t.colormode(255)
t.color((255, 155, 192), "pink")
t.setup(840, 500)
t.speed(10)

# 鼻子
t.pu()
t.goto(-100,100)
t.pd()
t.seth(-30)
t.begin_fill()
a = 0.4
for i in range(120):
    if 0 <= i < 30 or 60 <= i < 90:
        a = a+0.08
        t.lt(3)  # 向左转3度
        t.fd(a)  # 向前走a的步长
    else:
        a = a-0.08
        t.lt(3)
        t.fd(a)
        t.end_fill()

t.pu()
t.seth(90)
t.fd(25)
t.seth(0)
t.fd(10)
t.pd()
t.pencolor(255, 155, 192)
t.seth(10)
t.begin_fill()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()

t.pu()
t.seth(0)
t.fd(20)
t.pd()
t.pencolor(255, 155, 192)
t.seth(10)
t.begin_fill()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()

# 头
t.color((255, 155, 192), "pink")
t.pu()
t.seth(90)
t.fd(41)
t.seth(0)
t.fd(0)
t.pd()
t.begin_fill()
t.seth(180)
t.circle(300, -30)
t.circle(100, -60)
t.circle(80, -100)
t.circle(150, -20)
t.circle(60, -95)
t.seth(161)
t.circle(-300, 15)
t.pu()
t.goto(-100, 100)
t.pd()
t.seth(-30)
a = 0.4
for i in range(60):
    if 0 <= i < 30 or 60 <= i <90:
        a = a+0.08
        t.lt(3)  # 向左转3度
        t.fd(a)  # 向前走a的步长
    else:
        a = a-0.08
        t.lt(3)
        t.fd(a)
        t.end_fill()

# 耳朵
t.color((255, 155, 192), "pink")
t.pu()
t.seth(90)
t.fd(-7)
t.seth(0)
t.fd(70)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 54)
t.end_fill()

t.pu()
t.seth(90)
t.fd(-12)
t.seth(0)
t.fd(30)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 56)
t.end_fill()

#眼睛
t.color((255, 155, 192), "white")
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-95)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()

t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()

t.color((255, 155, 192), "white")
t.pu()
t.seth(90)
t.fd(-25)
t.seth(0)
t.fd(40)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()

t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()

# 腮
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(-95)
t.seth(0)
t.fd(65)
t.pd()
t.begin_fill()
t.circle(30)
t.end_fill()

# 嘴
t.color(239, 69, 19)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(-100)
t.pd()
t.seth(-80)
t.circle(30, 40)
t.circle(40, 80)

# 身体
t.color("red", (255, 99, 71))
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-78)
t.pd()
t.begin_fill()
t.seth(-130)
t.circle(100,10)
t.circle(300,30)
t.seth(0)
t.fd(230)
t.seth(90)
t.circle(300,30)
t.circle(100,3)
t.color((255,155,192),(255,100,100))
t.seth(-135)
t.circle(-80,63)
t.circle(-150,24)
t.end_fill()

# 手
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(-40)
t.seth(0)
t.fd(-27)
t.pd()
t.seth(-160)
t.circle(300,15)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-10)
t.circle(-20,90)

t.pu()
t.seth(90)
t.fd(30)
t.seth(0)
t.fd(237)
t.pd()
t.seth(-20)
t.circle(-300,15)
t.pu()
t.seth(90)
t.fd(20)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-170)
t.circle(20,90)

# 脚
t.pensize(10)
t.color((240,128,128))
t.pu()
t.seth(90)
t.fd(-75)
t.seth(0)
t.fd(-180)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)

t.pensize(10)
t.color((240, 128, 128))
t.pu()
t.seth(90)
t.fd(40)
t.seth(0)
t.fd(90)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)

# 尾巴
t.pensize(4)
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(70)
t.seth(0)
t.fd(95)
t.pd()
t.seth(0)
t.circle(70, 20)
t.circle(10, 330)
t.circle(70, 30)
t.done()

  三、七段数码管日期显示

#七段数码管绘制
import turtle
import time

def drawGap(): #控制数码管间隔
    turtle.penup()
    turtle.fd(5)
def drawLine(draw):#绘制单段数码管
    drawGap()
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    drawGap()
    turtle.rt(90)

def drawDigit(digit):#根据数字绘制七段数码管
    drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in  [0,1,3,4,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in  [0,2,3,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,6,8] else drawLine(False)
    turtle.lt(90)
    drawLine(True) if digit in  [0,4,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in  [0,2,3,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in  [0,1,2,3,4,7,8,9] else drawLine(False)
    turtle.lt(180)
    turtle.penup()
    turtle.fd(20)

def drawDate(date): #获得需要输出的数字 %Y-%m=%d+
    turtle.pencolor(‘red‘)
    for i in date:
        if i==‘-‘:
            turtle.write(‘年‘,font=(‘Arial‘,24,‘normal‘))
            turtle.pencolor(‘yellow‘)
            turtle.fd(40)
        elif i==‘=‘:
            turtle.write(‘月‘,font=(‘Arial‘,24,‘normal‘))
            turtle.pencolor(‘green‘)
            turtle.fd(40)
        elif i==‘+‘:
            turtle.write(‘日‘,font=(‘Arial‘,24,‘normal‘))
        else:
            drawDigit(eval(i))

def main():
    turtle.setup(800,350,200,200)
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(5)
    drawDate(time.strftime(‘%Y-%m=%d+‘,time.gmtime()))
    turtle.hideturtle()
    turtle.done()

main()

  以上三个小demo,都是用turtle库绘制完成的,turtle绘制方面,只有你想不到,没有他做不到的。

最后推荐一个地址python绘画作品展示的地址,https://www.python123.io/index/turtle_drawing 里面有许多优秀的python 作品

原文地址:https://www.cnblogs.com/widows/p/10100041.html

时间: 2024-10-06 10:51:44

python turtle库的几个小demo的相关文章

Python turtle库绘制简单图形

一.简介 Python中的turtle库是一个直观有趣的图形绘制函数库.turtle库绘制图形有一个基本框架:一个小海龟在坐标系中爬行,其爬行轨迹形成了绘制图形. 二.简单的图形列举 1.绘制4个不同半径的同切圆 代码: import turtleturtle.pensize(4)turtle.circle(10)turtle.circle(40)turtle.circle(80)turtle.circle(120)turtle.done() 结果: 2.六角形的绘制,利用turtle库绘制一个

Python turtle库的应用——蛇

turtle库介绍 1.Turtle中的turtle.setup()函数用于启动一个图形窗口,它有四个参数 turtle.setup(width, height, startx, starty) 分别是:启动窗口的宽度和高度表示窗口启动时,窗口左上角在屏幕中的坐标位置. 我们所使用的显示屏幕也是一个坐标系,该坐标系以左上角为原点,向左和向下分别是x轴和y轴.蟒蛇程序代码启动一个1300像素宽.800像素高的窗口,该窗口的左上角是屏幕的左上角. (startx,starty)表示画的初始点,(0,

[Python] turtle库的基本使用

turtle库常用函数 引入turtle模块 import turtle turtle的绘图窗体 #setup()设置窗口大小及位置#setup()可省略turtle.setup(width,height,startx,starty) turtle.setup(800,800,0,0) turtle.setup(800,800) turtle的RGB色彩模式 #默认采用小数值 可切换为整数值 #1.0:RGB小数值模式 #255:RGB整数值模式 turtle.colormode(mode) 画

一段神奇的代码(python 2.7)网上抓图小Demo

二话不说 先上代码: #coding=utf-8 import urllib import re import time global x x = 1 def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImg(html): global x reg = r'src="(.+?\.jpg)" alt=' imgre = re.compile(reg) imglist = r

用Python Turtle库画b站logo(张野 付博林组)

视频就在这里 由于不知道很多函数只等自己一点一点的试??哔哩哔哩 (゜-゜)つロ 干杯~ import turtle turtle.speed(6) turtle.screensize(300,300) turtle.colormode(255) turtle.color(0,204,255) turtle.up() turtle.goto(130,230) turtle.down() for _ in range(2): turtle.pensize(18) turtle.circle(-20

python turtle库绘图

点此查看视频https://v.youku.com/v_show/id_XMzkxNzkzMTg3Mg==.html?spm=a2h0k.11417342.soresults.dtitleimport turtle as t t.penup() t.fd(-250) t.left(90) t.fd(100) t.pendown() t.pensize(25) t.pencolor("purple") t.seth(-40) for i in range(4): t.circle(40,

python turtle库

基本教程: # import turtle as t # #画圆 # t.circle(200) # #落笔 # t.pendown()#t.pd() # #提笔 # t.penup()#t.pu() # #画笔宽度 # t.pensize(10) # #设置画笔颜色 # t.color(colorstring) # t.pencolor(colorstring) # #设置画笔背景颜色 # t.color(colorstring1,colorstring2) # #填充开始 # t.begin

python requests库爬取网页小实例:ip地址查询

ip地址查询的全代码: 智力使用ip183网站进行ip地址归属地的查询,我们在查询的过程是通过构造url进行查询的,将要查询的ip地址以参数的形式添加在ip183url后面即可. #ip地址查询的全代码 import requests url="http://m.ip138.com/ip.asp?ip=" try: r=requests.get(url+'202.204.80.112') r.raise_for_status() r.encoding=r.apparent_encodi

Python 标准库 ConfigParser 模块 的使用

Python 标准库 ConfigParser 模块 的使用 demo #!/usr/bin/env python # coding=utf-8 import ConfigParser import sys config = ConfigParser.ConfigParser() #写入 config.add_section("Inc_basic") config.set("Inc_basic","name","iPIN")