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-8import 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.4for 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.4for 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 turtleimport timedef 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作品

python turtle库的几个小demo

评论关闭