python浪漫表白源码

yipeiwu_com5年前Python基础

要知道我们程序猿也是需要浪漫的,小博我之前在网上搜寻了很多代码,确发现好多都不是最新的,所以自己就整理了一下代码,现在与广大博友们分享下

我们需要用到的包

使用pip install +(包名)
turtle 2.random

程序源码

# Project Leader:刘
# Project:表白源码
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()

运行效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现二叉树结构与进行二叉树遍历的方法详解

Python实现二叉树结构与进行二叉树遍历的方法详解

二叉树的建立 使用类的形式定义二叉树,可读性更好 class BinaryTree: def __init__(self, root): self.key = ro...

python+os根据文件名自动生成文本

python+os根据文件名自动生成文本

有时我们有很多文件(如图片),我们需要对每一个文件进行操作。 我们还需要一份文件的名字来进行遍历,这时我们首先需要建立一份文件名单,有时还会对文件名做一定的筛选,如我们只选择jpg格...

python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)

python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)

一.分散性聚类(kmeans) 算法流程: 1.选择聚类的个数k. 2.任意产生k个聚类,然后确定聚类中心,或者直接生成k个中心。 3.对每个点确定其聚类中心点。 4.再计算其聚类新中心...

Python中input和raw_input的一点区别

使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的 当输入为纯数字时: input返回的是数值类型,如int,float...

python异步实现定时任务和周期任务的方法

一. 如何调用 def f1(arg1, arg2): print('f1', arg1, arg2) def f2(arg1): print('f2', arg1)...