首页 > 编程语言 >我的爱情与Python不得不说的故事

我的爱情与Python不得不说的故事

时间:2022-10-26 22:33:01浏览次数:75  
标签:__ 10 故事 Python random Tree color 爱情 branch

最近,沉迷于辩论比赛,有最近有场辩论赛因为一句话出圈了:为什么是坠入爱河而不是跳入爱河呢?因为爱本身是自由意志的沉沦。这让我想起来我当时坠入爱河的时候,作为人家印象里呆板、没有情趣的程序员,我也有一颗期盼美好的心。几年前,在我和我女朋友认识的第二天,我用​​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() # random.random()生成一个0到1的随机符点数
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)

再说​​main​​函数:

if __name__ == "__main__":
# 绘图区域
t = T.Turtle()
# 画布大小
w = T.Screen()
# 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() # 最后这句是告诉海龟保持住,直到遇到鼠标点击的时候才退出 (exit on click)

最终成画效果为:

我的爱情与Python不得不说的故事_画图_02

因为我们在画树的过程中具有随机性,所以每次画出来的树都是不一样的,可能有的好看,有的不好看,反正多试几次,就能画出好看的树了。

当时,其实还画了另一幅画:玫瑰花,如下图:

我的爱情与Python不得不说的故事_画图_03

在我让她感受到了程序员的浪漫后,她终于答应做我女朋友了!所以,想要脱单的码农们,还不快冲,这还拿不下她?快来领取通往爱情的捷径吧(里面有不止两个的表白神器哦):​​kdocs.cn/l/cvfXyZPWBz2d​

标签:__,10,故事,Python,random,Tree,color,爱情,branch
From: https://blog.51cto.com/u_15352924/5798595

相关文章

  • 学习python-Day80
    今日学习内容一、表单控制二、购物车案例三、v-model进阶(了解)四、vue生命周期五、与后端交互ajaz六、计算属性七、侦听属性......
  • Python进阶篇04-面向对象编程
    面向对象编程面向对象编程和面向过程编程的区别:类和实例类:抽象的、用于创建实例的基础模板,类里面可以定义这个类所拥有的基础的属性。实例:根据类而创建的具体的对象,实......
  • python基础之模块
    第三方模块的下载与使用第三方模块:别人写的模块一般情况下功能特别强大想使用第三方模块必须先下载后面才可以反复使用方式1:命令行借助于pip工具pip......
  • OpenCV-Python learning-9.图像阈值处理
    你也可以​​iframe外链​​查看。本节内容包括:常用阈值方法自适应阈值Otsu(大津法)自适应阈值​​github地址​​......
  • OpenCV-Python learning-8.颜色空间
    你也可以​​iframe外链​​查看。本节内容包括:改变色彩空间:cvtColor使用HSV对象跟踪练习......
  • python sklearn中的KNN
    代码fromsklearnimportdatasetsfromsklearn.model_selectionimporttrain_test_splitfromsklearn.neighborsimportKNeighborsClassifierimportnumpyasnpiris=dat......
  • Python调用matlab函数
    参考文章:安装用于Python的MATLAB引擎API环境:MATLABR2022a、Anaconda、python3.9检验配置检查Python版本是否与Matlab版本相匹配安装API打开matlab在命令行中输入......
  • python的一些运算符
    #1.算术运算符print('1.算术运算符')#1.1+求和a=10b=20c=a+bprint(c)print('a+b={}'.format(c))print('a+b=%i'%c)print(f'a+b={c}')#1.2-求......
  • python模块之requents模块及excel操作模块openpyxl
    第三方模块的下载与使用第三方模块:别人写的模块一般情况下功能都特别强大我们如果想使用第三方模块第一次必须先下载后面才可以反复使用(等同于内置模块)下载......
  • Python pandas DataFrame 行列使用常用操作
    Pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量......