用Python写一个简单的表白 - Go语言中文社区

用Python写一个简单的表白


import turtle
import random

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(10000000)

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("",font=("Arial",12,"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)

myWin = turtle.Screen()

t = turtle.Turtle()

t.hideturtle()

t.speed(1000)

t.left(90)

t.up()

t.backward(200)

t.down()

t.color(“brown”)

t.pensize(32)

t.forward(60)

tree(100,t)

myWin.exitonclick()

成品展示如下图在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_44792344/article/details/89944433
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-29 20:40:05
  • 阅读 ( 1250 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢