一篇文章教你用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查看多台服务器进程的脚本分享
Jun 11 Python
使用Python中的线程进行网络编程的入门教程
Apr 15 Python
详解Python迭代和迭代器
Mar 28 Python
Python3如何解决字符编码问题详解
Apr 23 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 Python
Python实现的redis分布式锁功能示例
May 29 Python
python+logging+yaml实现日志分割
Jul 22 Python
python实现读取excel文件中所有sheet操作示例
Aug 09 Python
重写django的model下的objects模型管理器方式
May 15 Python
python利用paramiko实现交换机巡检的示例
Sep 22 Python
python实现图片素描效果
Sep 26 Python
Python基础之元编程知识总结
May 23 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
Terran剧情介绍
2020/03/14 星际争霸
PHP更新购物车数量(表单部分/PHP处理部分)
2013/05/03 PHP
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
关于PHP的curl开启问题探讨
2014/04/08 PHP
php生成图片验证码的方法
2016/04/15 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
JqueryMobile动态生成listView并实现刷新的两种方法
2014/03/05 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
Jquery插件easyUi实现表单验证示例
2015/12/15 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
python实现数通设备tftp备份配置文件示例
2014/04/02 Python
python机器学习实战之树回归详解
2017/12/20 Python
浅析python的Lambda表达式
2019/02/27 Python
Python面向对象程序设计多继承和多态用法示例
2019/04/08 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
python实现翻译word表格小程序
2020/02/27 Python
查看已安装tensorflow版本的方法示例
2020/04/19 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
PHP两种查询函数array/row的区别
2013/06/03 面试题
主持人婚宴答谢词
2014/01/28 职场文书
中考冲刺决心书
2014/03/11 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
体现团队精神的口号
2014/06/06 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
入党个人总结范文
2015/03/02 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL