一篇文章教你用python画动态爱心表白


Posted in Python onNovember 22, 2020

一篇文章教你用python画动态爱心表白

初级画心

学Python,感觉你们的都好复杂,那我来个简单的,我是直接把心形看作是一个正方形+两个半圆:

一篇文章教你用python画动态爱心表白

于是这就很简单了,十行代码解决:

import turtle as t
t.pensize(2)
# 笔大小2像素
t.pencolor("red")
# 颜色为红色
t.left(45)
# 45度
t.fd(200)
# 向前200直线
t.circle(100, 180)
# 画一圆半径100 弧度180
t.right(90)
# 向右90度
t.circle(100, 180)
# 再画一个圆半径100 弧度180
t.fd(200)
# 直线向前直线200
t.done()
# 绘制完成

一篇文章教你用python画动态爱心表白

一行代码画心

原代码

print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))

一篇文章教你用python画动态爱心表白

拆解了一下这段长串的【一行代码】,得到如下的多行代码,实际运行效果一致,代码如下:

import time
words = input('请输出想要表达的文字:')
#例子:words = "Dear lili, Happy Valentine's Day! Lyon Will Always Love You Till The End! ♥ Forever! ♥"
for item in words.split():
 #要想实现打印出字符间的空格效果,此处添加:item = item+' '
 letterlist = []#letterlist是所有打印字符的总list,里面包含y条子列表list_X
 for y in range(12, -12, -1):
  list_X = []#list_X是X轴上的打印字符列表,里面装着一个String类的letters
  letters = ''#letters即为list_X内的字符串,实际是本行要打印的所有字符
  for x in range(-30, 30):#*是乘法,**是幂次方
   expression = ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3
   if expression <= 0:
    letters += item[(x-y) % len(item)]
   else:
    letters += ' '
  list_X.append(letters)
  letterlist += list_X
 print('\n'.join(letterlist))
 time.sleep(1.5);

但是,有点太单调了点,来,让我撸起袖子搞点事情,将代码简单改造一下,实现动态输出心形的一段话的效果:

改造以后,看上去不错了!效果如下:

代码如下,喜欢请点赞哦,谢谢❤️!:

import time
words = input('请输出想要表达的文字:')
for item in words.split():
  print('\n'.join([''.join([(item[(x-y) % len(item)] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(12, -12, -1)]))
  time.sleep(1.5)

其实,像❤️ 这样类型的颜文字其实也是可以输出的,不过格式不是标准的心型,需要自行调节,大家可以自己尝试下^_^!

参考:Lyon https://zhuanlan.zhihu.com/p/33816013

总结

到此这篇关于教你用python画动态爱心表白的文章就介绍到这了,更多相关python画动态爱心表白内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python查询mysql中文乱码问题
Nov 09 Python
Python 内置函数memoryview(obj)的具体用法
Nov 23 Python
python os.listdir按文件存取时间顺序列出目录的实例
Oct 21 Python
将python图片转为二进制文本的实例
Jan 24 Python
pytorch numpy list类型之间的相互转换实例
Aug 18 Python
python 数据提取及拆分的实现代码
Aug 26 Python
Jupyter Notebook的连接密码 token查询方式
Apr 21 Python
Python导入数值型Excel数据并生成矩阵操作
Jun 09 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
如何验证python安装成功
Jul 06 Python
变长双向rnn的正确使用姿势教学
May 31 Python
再谈python_tkinter弹出对话框创建
Mar 20 Python
python中scrapy处理项目数据的实例分析
Nov 22 #Python
python eventlet绿化和patch原理
Nov 21 #Python
python 实用工具状态机transitions
Nov 21 #Python
python 实现表情识别
Nov 21 #Python
python 实现性别识别
Nov 21 #Python
python遍历路径破解表单的示例
Nov 21 #Python
Python如何批量生成和调用变量
Nov 21 #Python
You might like
php与js的区别是什么
2013/08/05 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
JavaScript DOM基础
2015/04/13 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
js实现简单的获取验证码按钮效果
2017/03/03 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
2017/10/17 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
谈谈IntersectionObserver懒加载的具体使用
2019/10/15 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
Python3.x对JSON的一些操作示例
2017/09/01 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
学生档案自我鉴定
2013/10/07 职场文书
工商治理实习生的自我评价
2014/01/15 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
理财投资建议书
2014/03/12 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
贷款担保申请书
2014/05/20 职场文书
化工专业自荐书
2014/06/16 职场文书
煤矿安全协议书
2014/08/20 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
工作感想范文
2015/08/07 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript