打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python内置库turtle绘制有趣图形

一:绘制六边形

import turtlet = turtle.Pen()turtle.bgcolor("black")sides = 6colors = ["red", "yellow", "green", "blue", "orange", "purple"]for x in range(360):    t.pencolor(colors[x % sides])    t.forward(x * 3 / sides + x)    t.left(360 / sides + 1)    t.width(x * sides / 200)

效果:

二:自定义边框

import turtlet = turtle.Pen()turtle.bgcolor("black")sides = eval(input("输入要绘制的边的数目(2-6)!"))colors = ["red", "yellow", "green", "blue", "orange", "purple"]for x in range(100):    t.pencolor(colors[x % sides])    t.forward(x * 3 / sides + x)    t.left(360 / sides + 1)    t.width(x * sides / 200)

效果:

三:带有文字的图形绘制

import turtlet = turtle.Pen()turtle.bgcolor("black")my_name = turtle.textinput("输入你的姓名", "你的名字?")colors = ["red", "yellow", "purple", "blue"]for x in range(100):    t.pencolor(colors[x % 4])    t.penup()    t.forward(x * 4)    t.pendown()    t.write(my_name, font=("Arial", int((x + 4) / 4), "bold"))    t.left(92)

效果:

四:绘制雪花

from turtle import *from random import *def ground():    hideturtle()    speed(100)    for i in range(400):        pensize(randint(5, 10))        x = randint(-400, 350)        y = randint(-280, -1)        r = -y / 280        g = -y / 280        b = -y / 280        pencolor(r, g, b)        penup()        goto(x, y)        pendown()        forward(randint(40, 100))def snow():    hideturtle()    speed(100)    pensize(2)    for i in range(100):        r = random()        g = random()        b = random()        pencolor(r, g, b)        penup()        setx(randint(-350, 350))        sety(randint(1, 270))        pendown()        dens = randint(8, 12)        snowsize = randint(10, 14)        for j in range(dens):            forward(snowsize)            backward(snowsize)            right(360 / dens)def main():    setup(800, 600, 0, 0)    tracer(False)    bgcolor("black")    snow()    ground()    tracer(True)    mainloop()main()

效果:


五:绘制科赫雪花

import turtledef coch(size, n):    if n == 0:        turtle.fd(size)    else:        for angle in [0, 60, -120, 60]:            turtle.left(angle)            coch(size / 3, n - 1)def main():    turtle.setup(600, 600)    turtle.penup()    turtle.bgcolor("white")    turtle.pensize(2)    turtle.goto(-200, 100)    turtle.pendown()    level = 3    coch(400, level)    turtle.right(120)    coch(400, level)    turtle.right(120)    coch(400, level)    turtle.hideturtle()main()

效果:


六:绘制七彩线条

import turtle as tt.setup(1000, 1000)t.pen(shown=False, pendown=False, pensize=10, speed=0)colorlist = [(255, 0, 0), (255, 165, 0), (255, 255, 0),              (0, 255, 0), (0, 255, 255), (0, 0, 255), (139, 0, 255)]colorlist.reverse()t.fd(-250)t.seth(-40)t.colormode(255)t.pendown()for color in colorlist[:-1]:    t.pencolor(color)    t.circle(30, 80)    t.circle(-30, 80)t.pencolor(colorlist[-1])t.circle(30, 80 / 2)t.fd(40)t.circle(25, 180)t.fd(40 * 2 / 3)t.done()

效果:


七:绘制太极图

import turtle# 绘制太极图函数def draw_TJT(R):    turtle.screensize(800, 600, "blue")  # 画布长、宽、背景色 长宽单位为像素    turtle.pensize(1)  # 画笔宽度    turtle.pencolor('black')  # 画笔颜色    turtle.speed(10)  # 画笔移动速度    TJT_color = {1: 'white', -1: 'black'}  # 太极图填充色 1 白色 -1 黑色    color_list = [1, -1]    """    先画半边,再画另一边    """    for c in color_list:        turtle.fillcolor(TJT_color.get(c))  # 获取该半边的填充色        turtle.begin_fill()  # 开始填充        # 开始画出半边的轮廓        turtle.circle(R / 2, 180)        turtle.circle(R, 180)        turtle.circle(R / 2, -180)        turtle.end_fill()  # 结束填充 上色完成        # 绘制该半边的鱼眼        turtle.penup()  # 提起画笔,移动不留痕        turtle.goto(0, R / 3 * c)  # 移动到该半边的鱼眼的圆上 R/3*c 表示移动到哪边        turtle.pendown()  # 放下画笔,移动留痕        turtle.fillcolor(TJT_color.get(-c))  # 获取鱼眼填充色, 与该半边相反        turtle.begin_fill()        turtle.circle(-R / 6, 360)        turtle.end_fill()        # 回到原点,为下一循环的开始做准备        turtle.penup()        turtle.goto(0, 0)        turtle.pendown()    # 绘制文本    turtle.penup()    turtle.goto(0, -R - 50)    turtle.pendown()    turtle.write("太极图 made by kjshen", font=('Arial', 12, 'normal'))if __name__ == '__main__':    R = 100  # 太极图半径    draw_TJT(R)    input('Press Enter to exit...')  # 防止程序运行完成后就自动关闭窗口

效果:


八:绘制五角星

import turtleturtle.setup(2000, 2000, 0, 0)turtle.pensize(20)turtle.pencolor("black")turtle.seth(0)turtle.fd(400)turtle.seth(-144)turtle.fd(400)turtle.seth(-144 - 144)turtle.fd(400)turtle.seth(-144 - 144 - 144)turtle.fd(400)turtle.seth(-144 - 144 - 144 - 144)turtle.fd(400)input("")

效果:


九:绘制奥运五环

import turtlep = turtlep.pensize(3)p.color("blue")p.circle(30, 360)p.pu()p.goto(60, 0)p.pd()p.color("black")p.circle(30, 360)p.pu()p.goto(120, 0)p.pd()p.color("red")p.circle(30, 360)p.pu()p.goto(90, -30)p.pd()p.color("green")p.circle(30, 360)p.pu()p.goto(30, -30)p.pd()p.color("yellow")p.circle(30, 360)p.done()

效果:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
海龟绘图:python绘制百变表情包
用 Python 画一个捂脸表情
python 标准库
python绘制神器五角星 小黄人 樱花
Python — — turtle 常用代码
Python|用turtle画笔制作奥运五环
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服