一篇文章教你用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动态网页批量爬取
Feb 14 Python
使用Python写一个贪吃蛇游戏实例代码
Aug 21 Python
在Python web中实现验证码图片代码分享
Nov 09 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
python pygame模块编写飞机大战
Nov 20 Python
Python面向对象之类和实例用法分析
Jun 08 Python
python解压TAR文件至指定文件夹的实例
Jun 10 Python
python3实现的zip格式压缩文件夹操作示例
Aug 17 Python
如何基于python操作excel并获取内容
Dec 24 Python
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
Apr 12 Python
深度学习tensorflow基础mnist
Apr 14 Python
只用40行Python代码就能写出pdf转word小工具
May 31 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
PHP4实际应用经验篇(9)
2006/10/09 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
PHP两种快速排序算法实例
2015/02/15 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
javascript常用的设计模式
2017/02/09 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
[01:31]DOTA2上海特级锦标赛 SECRET战队完整宣传片
2016/03/16 DOTA
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
python多进程实现进程间通信实例
2017/11/24 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
python 图片去噪的方法示例
2019/07/09 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
质量工程师岗位职责
2013/11/16 职场文书
顶岗实习接收函
2014/01/09 职场文书
初中生自我鉴定
2014/02/04 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
小学生作文评语大全
2014/04/21 职场文书
物业保安岗位职责
2014/07/02 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript