欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python画爱心代码大全(python画图代码)

程序员文章站 2024-03-27 17:05:58
turtle画一个彩色螺旋图形import turtleturtle.shape('turtle')turtle.speed(9) # 画笔速度turtle.pensize(2)...

turtle画一个彩色螺旋图形

import turtle


turtle.shape('turtle')
turtle.speed(9)            # 画笔速度
turtle.pensize(2)			# 画笔的宽度
turtle.bgcolor("black")		# 画布背景色
colors = ["red","yellow","green","blue"]	# 定义画笔线色

for i in range(255):		# 循环一次 画一条线
    turtle.forward(2 * i) 	        # 向当前方向前进n像素
    turtle.color(colors[i % 4])	# 根据求余 调整画笔线色
    turtle.left(91)                # 向左旋转91度

turtle.done()
python画爱心代码大全(python画图代码)

仙人球

import turtle


turtle.shape('turtle')
turtle.color('orange', 'green')
turtle.begin_fill()
while true:
    turtle.forward(200)
    turtle.left(170)
    if abs(turtle.pos()) < 1:
        break
turtle.end_fill()
turtle.done()

python画爱心代码大全(python画图代码)

国旗

import turtle


turtle.shape('turtle')
turtle.screensize(2000, 2000, 'white')  # 设置画布大小
turtle.speed(9)
# 绘制旗面
turtle.pencolor('red')
# pu()
turtle.goto(-300, -200)
turtle.pd()
turtle.fillcolor('red')
turtle.begin_fill()
for i in range(0, 2):
    turtle.fd(600)
    turtle.lt(90)
    turtle.fd(400)
    turtle.lt(90)
turtle.end_fill()


# 绘制大五角星
turtle.pu()
turtle.pencolor('yellow')
turtle.goto(-260, 120)
turtle.pd()
turtle.fillcolor('yellow')
turtle.begin_fill()
for i in range(0, 5):
    turtle.fd(113.137)  # 大星一划的边长
    turtle.rt(144)
turtle.end_fill()

# 绘制四个小五角星
list1 = [(-100, 160), (-60, 120), (-60, 60), (-100, 20)]  # 四个五角星的中心坐标
list2 = [31.98, 8.13, -15.59, -38.66]  # 相对角度0的后退1.111需要左转的角度

for j in range(0, 4):
    turtle.seth(0)  # 这是龟头角度为0
    turtle.pu()
    turtle.goto(list1[j])  # 定位到五角星中心
    turtle.lt(list2[j])  # 旋转角度,以背向指向大五角星的角尖
    turtle.bk(20)  # 从五角星中心到指向大五角星的角尖(龟倒着爬)退一个小圆半径
    turtle.lt(18)  # 五角星的半角角度
    turtle.pd()
    turtle.begin_fill()
    for i in range(0, 5):
        turtle.fd(113.137 / 3)  # 小星一划的边长
        turtle.rt(144)
    turtle.end_fill()
turtle.pu()
turtle.ht()
turtle.done()

python画爱心代码大全(python画图代码)

玫瑰花

import turtle
import time


turtle.shape('turtle')
turtle.speed(5)
# 设置初始位置
turtle.penup()
turtle.left(90)
turtle.fd(200)
turtle.pendown()
turtle.right(90)
# 花蕊
turtle.fillcolor("red")
turtle.begin_fill()
turtle.circle(10,180)
turtle.circle(25,110)
turtle.left(50)
turtle.circle(60,45)
turtle.circle(20,170)
turtle.right(24)
turtle.fd(30)
turtle.left(10)
turtle.circle(30,110)
turtle.fd(20)
turtle.left(40)
turtle.circle(90,70)
turtle.circle(30,150)
turtle.right(30)
turtle.fd(15)
turtle.circle(80,90)
turtle.left(15)
turtle.fd(45)
turtle.right(165)
turtle.fd(20)
turtle.left(155)
turtle.circle(150,80)
turtle.left(50)
turtle.circle(150,90)
turtle.end_fill()

# 花瓣1
turtle.left(150)
turtle.circle(-90,70)
turtle.left(20)
turtle.circle(75,105)
turtle.setheading(60)
turtle.circle(80,98)
turtle.circle(-90,40)

# 花瓣2
turtle.left(180)
turtle.circle(90,40)
turtle.circle(-80,98)
turtle.setheading(-83)

# 叶子1
turtle.fd(30)
turtle.left(90)
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80,90)
turtle.right(90)
turtle.circle(-80,90)
turtle.end_fill()
turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
turtle.left(90)
turtle.fd(80)

# 叶子2
turtle.right(90)
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80,90)
turtle.left(90)
turtle.circle(80,90)
turtle.end_fill()
turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(60)
turtle.right(90)
turtle.circle(200,60)
turtle.done()

python画爱心代码大全(python画图代码)

彩色树

import turtle


turtle.shape('turtle')
# 设置色彩模式是rgb:
turtle.colormode(255)
turtle.lt(90)
lv = 14
l = 120
s = 45
turtle.width(lv)
# 初始化rgb颜色:
r = 0
g = 0
b = 0
turtle.pencolor(r, g, b)
turtle.penup()
turtle.bk(l)
turtle.pendown()
turtle.fd(l)
def draw_tree(l, level):
    global r, g, b
    # save the current pen width
    w = turtle.width()
    # narrow the pen width
    turtle.width(w * 3.0 / 4.0)
    # set color:
    r = r + 1
    g = g + 2
    b = b + 3
    turtle.pencolor(r % 200, g % 200, b % 200)
    l = 3.0 / 4.0 * l
    turtle.lt(s)
    turtle.fd(l)
    if level < lv:
        draw_tree(l, level + 1)
    turtle.bk(l)
    turtle.rt(2 * s)
    turtle.fd(l)
    if level < lv:
        draw_tree(l, level + 1)
    turtle.bk(l)
    turtle.lt(s)
    # restore the previous pen width
    turtle.width(w)
turtle.speed("fastest")
draw_tree(l, 4)
turtle.done()

python画爱心代码大全(python画图代码)

随机樱花树

# 每次运行 树的形状是随机的
import turtle as t
import random
import time


# 画樱花的躯干(60,t)
def tree(branch, t):
    time.sleep(0.0005)
    if branch > 3:
        if 8 <= branch <= 12:
            if random.randint(0, 2) == 0:
                t.color('snow')  # 白
            else:
                t.color('lightcoral')  # 淡珊瑚色
            t.pensize(branch / 3)
        elif branch < 8:
            if random.randint(0, 1) == 0:
                t.color('snow')
            else:
                t.color('lightcoral')  # 淡珊瑚色
            t.pensize(branch / 2)
        else:
            t.color('sienna')  # 赭(zhě)色
            t.pensize(branch / 10)  # 6
        t.forward(branch)
        a = 1.5 * random.random()
        t.right(20 * a)
        b = 1.5 * random.random()
        tree(branch - 10 * b, t)
        t.left(40 * a)
        tree(branch - 10 * b, t)
        t.right(20 * a)
        t.up()
        t.backward(branch)
        t.down()

# 掉落的花瓣
def petal(m, t):
    for i in range(m):
        a = 200 - 400 * random.random()
        b = 10 - 20 * random.random()
        t.up()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.down()
        t.color('lightcoral')  # 淡珊瑚色
        t.circle(1)
        t.up()
        t.backward(a)
        t.right(90)
        t.backward(b)

# 绘图区域

t = t.turtle()
# 画布大小
w = t.screen()
t.shape('turtle')
# t.hideturtle()  # 隐藏画笔
t.getscreen().tracer(5, 0)
w.screensize(bg='wheat')  # wheat小麦
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')

# 画樱花的躯干
tree(60, t)
# 掉落的花瓣
petal(200, t)
w.exitonclick()
t.done()

python画爱心代码大全(python画图代码)

爱情树

import random
import turtle


def love(x, y):  # 在(x,y)处画爱心lalala
    lv = turtle.turtle()
    lv.hideturtle()
    lv.up()
    lv.goto(x, y)  # 定位到(x,y)

    def curvemove():  # 画圆弧
        for i in range(20):
            lv.right(10)
            lv.forward(2)

    lv.color('red', 'pink')
    lv.speed(0)
    lv.pensize(1)
    # 开始画爱心lalala
    lv.down()
    lv.begin_fill()
    lv.left(140)
    lv.forward(22)
    curvemove()
    lv.left(120)
    curvemove()
    lv.forward(22)
    lv.write("{}".format("i love you!"), font=("arial", 10, "normal"), align="center")
    lv.left(140)  # 画完复位
    lv.end_fill()


def tree(branchlen, t):
    if branchlen > 5:  # 剩余树枝太少要结束递归
        if branchlen < 20:  # 如果树枝剩余长度较短则变绿
            t.color("green")
            t.pensize(random.uniform((branchlen + 5) / 4 - 2, (branchlen + 6) / 4 + 5))
            t.down()
            t.forward(branchlen)
            love(t.xcor(), t.ycor())  # 传输现在turtle的坐标
            t.up()
            t.backward(branchlen)
            t.color("brown")
            return
        t.pensize(random.uniform((branchlen + 5) / 4 - 2, (branchlen + 6) / 4 + 5))
        t.down()
        t.forward(branchlen)
        # 以下递归
        ang = random.uniform(15, 45)
        t.right(ang)
        tree(branchlen - random.uniform(12, 16), t)  # 随机决定减小长度
        t.left(2 * ang)
        tree(branchlen - random.uniform(12, 16), t)  # 随机决定减小长度
        t.right(ang)
        t.up()
        t.backward(branchlen)


def fonts():
    t.penup()
    t.goto(-300, -300)
    t.pencolor('red')
    t.write("我爱你!^_^", font=('方正行黑简体', 30, 'normal'))


mywin = turtle.screen()
t = turtle.turtle()
t.hideturtle()
t.speed(0)
t.left(90)
t.up()
t.backward(200)
t.down()
t.color("brown")
t.pensize(32)
t.forward(60)
tree(100, t)
fonts()
mywin.exitonclick()

python画爱心代码大全(python画图代码)

哆啦a梦

import turtle


def flyto(x, y):
    turtle.penup()
    turtle.goto(x, y)
    turtle.pendown()
def draweye():
    turtle.tracer(false)
    a = 2.5
    for i in range(120):
        if 0 <= i < 30 or 60 <= i < 90:
            a -= 0.05
        else:
            a += 0.05
        turtle.left(3)
        turtle.fd(a)
    turtle.tracer(true)
def beard():
    """ 画胡子, 一共六根
    """
    # 左边第一根胡子
    flyto(-37, 135)
    turtle.seth(165)
    turtle.fd(60)
    # 左边第二根胡子
    flyto(-37, 125)
    turtle.seth(180)
    turtle.fd(60)
    # 左边第三根胡子
    flyto(-37, 115)
    turtle.seth(193)
    turtle.fd(60)
    # 右边第一根胡子
    flyto(37, 135)
    turtle.seth(15)
    turtle.fd(60)
    # 右边第二根胡子
    flyto(37, 125)
    turtle.seth(0)
    turtle.fd(60)
    # 右边第三根胡子
    flyto(37, 115)
    turtle.seth(-13)
    turtle.fd(60)
def drawredscarf():
    """ 画围巾
    """
    turtle.fillcolor("red")  # 填充颜色
    turtle.begin_fill()
    turtle.seth(0)  # 朝向右
    turtle.fd(200)  # 前进10个单位
    turtle.circle(-5, 90)
    turtle.fd(10)
    turtle.circle(-5, 90)
    turtle.fd(207)
    turtle.circle(-5, 90)
    turtle.fd(10)
    turtle.circle(-5, 90)
    turtle.end_fill()
def drawmouse():
    flyto(5, 148)
    turtle.seth(270)
    turtle.fd(100)
    turtle.seth(0)
    turtle.circle(120, 50)
    turtle.seth(230)
    turtle.circle(-120, 100)
def drawrednose():
    flyto(-10, 158)
    turtle.fillcolor("red")  # 填充颜色
    turtle.begin_fill()
    turtle.circle(20)
    turtle.end_fill()
def drawblackdraweye():
    turtle.seth(0)
    flyto(-20, 195)
    turtle.fillcolor("#000000")  # 填充颜色
    turtle.begin_fill()
    turtle.circle(13)
    turtle.end_fill()
    turtle.pensize(6)
    flyto(20, 205)
    turtle.seth(75)
    turtle.circle(-10, 150)
    turtle.pensize(3)
    flyto(-17, 200)
    turtle.seth(0)
    turtle.fillcolor("#ffffff")
    turtle.begin_fill()
    turtle.circle(5)
    turtle.end_fill()
    flyto(0, 0)
def drawface():
    turtle.forward(183)  # 前行183个单位
    turtle.fillcolor("white")  # 填充颜色为白色
    turtle.begin_fill()  # 开始填充
    turtle.left(45)  # 左转45度
    turtle.circle(120, 100)  # 右边那半边脸
    turtle.seth(90)  # 朝向向上
    draweye()  # 画右眼睛
    turtle.seth(180)  # 朝向左
    turtle.penup()  # 抬笔
    turtle.fd(60)  # 前行60
    turtle.pendown()  # 落笔
    turtle.seth(90)  # 朝向上
    draweye()  # 画左眼睛
    turtle.penup()  # 抬笔
    turtle.seth(180)  # 朝向左
    turtle.fd(64)  # 前进64
    turtle.pendown()  # 落笔
    turtle.seth(215)  # 修改朝向
    turtle.circle(120, 100)  # 左边那半边脸
    turtle.end_fill()  #
def drawhead():
    """ 画了一个被切掉下半部分的圆
    """
    turtle.penup()  # 抬笔
    turtle.circle(150, 40)  # 画圆, 半径150,圆周角40
    turtle.pendown()  # 落笔
    turtle.fillcolor("#00a0de")  # 填充色
    turtle.begin_fill()  # 开始填充
    turtle.circle(150, 280)  # 画圆,半径150, 圆周角280
    turtle.end_fill()
def drawall():
    drawhead()
    drawredscarf()
    drawface()
    drawrednose()
    drawmouse()
    beard()
    flyto(0, 0)
    turtle.seth(0)
    turtle.penup()
    turtle.circle(150, 50)
    turtle.pendown()
    turtle.seth(30)
    turtle.fd(40)
    turtle.seth(70)
    turtle.circle(-30, 270)
    turtle.fillcolor("#00a0de")
    turtle.begin_fill()
    turtle.seth(230)
    turtle.fd(80)
    turtle.seth(90)
    turtle.circle(1000, 1)
    turtle.seth(-89)
    turtle.circle(-1000, 10)
    turtle.seth(180)
    turtle.fd(70)
    turtle.seth(90)
    turtle.circle(30, 180)
    turtle.seth(180)
    turtle.fd(70)
    turtle.seth(100)
    turtle.circle(-1000, 9)
    turtle.seth(-86)
    turtle.circle(1000, 2)
    turtle.seth(230)
    turtle.fd(40)
    turtle.circle(-30, 230)
    turtle.seth(45)
    turtle.fd(81)
    turtle.seth(0)
    turtle.fd(203)
    turtle.circle(5, 90)
    turtle.fd(10)
    turtle.circle(5, 90)
    turtle.fd(7)
    turtle.seth(40)
    turtle.circle(150, 10)
    turtle.seth(30)
    turtle.fd(40)
    turtle.end_fill()
    # 左手
    turtle.seth(70)
    turtle.fillcolor("#ffffff")
    turtle.begin_fill()
    turtle.circle(-30)
    turtle.end_fill()
    # 脚
    flyto(103.74, -182.59)
    turtle.seth(0)
    turtle.fillcolor("#ffffff")
    turtle.begin_fill()
    turtle.fd(15)
    turtle.circle(-15, 180)
    turtle.fd(90)
    turtle.circle(-15, 180)
    turtle.fd(10)
    turtle.end_fill()
    flyto(-96.26, -182.59)
    turtle.seth(180)
    turtle.fillcolor("#ffffff")
    turtle.begin_fill()
    turtle.fd(15)
    turtle.circle(15, 180)
    turtle.fd(90)
    turtle.circle(15, 180)
    turtle.fd(10)
    turtle.end_fill()
    # 右手
    flyto(-133.97, -91.81)
    turtle.seth(50)
    turtle.fillcolor("#ffffff")
    turtle.begin_fill()
    turtle.circle(30)
    turtle.end_fill()
    # 口袋
    flyto(-103.42, 15.09)
    turtle.seth(0)
    turtle.fd(38)
    turtle.seth(230)
    turtle.begin_fill()
    turtle.circle(90, 260)
    turtle.end_fill()
    flyto(5, -40)
    turtle.seth(0)
    turtle.fd(70)
    turtle.seth(-90)
    turtle.circle(-70, 180)
    turtle.seth(0)
    turtle.fd(70)
    # 铃铛
    flyto(-103.42, 15.09)
    turtle.fd(90)
    turtle.seth(70)
    turtle.fillcolor("#ffd200")
    turtle.begin_fill()
    turtle.circle(-20)
    turtle.end_fill()
    turtle.seth(170)
    turtle.fillcolor("#ffd200")
    turtle.begin_fill()
    turtle.circle(-2, 180)
    turtle.seth(10)
    turtle.circle(-100, 22)
    turtle.circle(-2, 180)
    turtle.seth(180 - 10)
    turtle.circle(100, 22)
    turtle.end_fill()
    flyto(-13.42, 15.09)
    turtle.seth(250)
    turtle.circle(20, 110)
    turtle.seth(90)
    turtle.fd(15)
    turtle.dot(10)
    flyto(0, -150)
    drawblackdraweye()
def main():
    turtle.screensize(800, 6000, "#f0f0f0")
    turtle.pensize(3)
    turtle.speed(9)
    drawall()
if __name__ == "__main__":
    main()
    turtle.mainloop()

python画爱心代码大全(python画图代码)

时钟

import turtle
from datetime import *

# 抬起画笔,向前运动一段距离放下
def skip(step):
    turtle.penup()
    turtle.forward(step)
    turtle.pendown()


def mkhand(name, length):
    # 注册turtle形状,建立表针turtle
    turtle.reset()
    skip(-length * 0.1)
    # 开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。
    turtle.begin_poly()
    turtle.forward(length * 1.1)
    # 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。
    turtle.end_poly()
    # 返回最后记录的多边形。
    handform = turtle.get_poly()
    turtle.register_shape(name, handform)


def init():
    global sechand, minhand, hurhand, printer
    # 重置turtle指向北
    turtle.mode("logo")
    # 建立三个表针turtle并初始化
    mkhand("sechand", 135)
    mkhand("minhand", 125)
    mkhand("hurhand", 90)
    sechand = turtle.turtle()
    sechand.shape("sechand")
    minhand = turtle.turtle()
    minhand.shape("minhand")
    hurhand = turtle.turtle()
    hurhand.shape("hurhand")

    for hand in sechand, minhand, hurhand:
        hand.shapesize(1, 1, 3)
        hand.pencolor('orange')
        hand.speed(0)

    # 建立输出文字turtle
    printer = turtle.turtle()
    printer.pencolor('red')
    # 隐藏画笔的turtle形状
    printer.hideturtle()
    printer.penup()


def setupclock(radius):
    # 建立表的外框
    turtle.reset()
    turtle.pencolor('blue')
    turtle.pensize(7)
    for i in range(60):
        skip(radius)
        if i % 5 == 0:
            turtle.forward(20)
            skip(-radius - 20)

            skip(radius + 20)
            if i == 0:
                turtle.write(int(12), align="center", font=("courier", 14, "bold"))
            elif i == 30:
                skip(25)
                turtle.write(int(i / 5), align="center", font=("courier", 14, "bold"))
                skip(-25)
            elif (i == 25 or i == 35):
                skip(20)
                turtle.write(int(i / 5), align="center", font=("courier", 14, "bold"))
                skip(-20)
            else:
                turtle.write(int(i / 5), align="center", font=("courier", 14, "bold"))
            skip(-radius - 20)
        else:
            turtle.dot(5)
            skip(-radius)
        turtle.right(6)


def week(t):
    week = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]
    return week[t.weekday()]


def date(t):
    y = t.year
    m = t.month
    d = t.day
    return "%s-%d-%d" % (y, m, d)


def tick():
    # 绘制表针的动态显示
    t = datetime.today()
    second = t.second + t.microsecond * 0.000001
    minute = t.minute + second / 60.0
    hour = t.hour + minute / 60.0
    sechand.setheading(6 * second)
    minhand.setheading(6 * minute)
    hurhand.setheading(30 * hour)

    turtle.tracer(false)
    printer.forward(65)
    printer.write(week(t), align="center", font=("courier", 14, "bold"))
    printer.back(130)
    printer.write(date(t), align="center", font=("courier", 14, "bold"))
    printer.home()
    turtle.tracer(true)

    # 100ms后继续调用tick
    turtle.ontimer(tick, 100)


def main():
    # 打开/关闭龟动画,并为更新图纸设置延迟。
    turtle.tracer(false)
    init()
    setupclock(160)
    turtle.tracer(true)
    tick()
    turtle.done()


if __name__ == "__main__":
    main()