一篇文章教你用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多线程扫描端口示例
Jan 16 Python
详解Django框架中的视图级缓存
Jul 23 Python
Python标准库之collections包的使用教程
Apr 27 Python
Python通过Pygame绘制移动的矩形实例代码
Jan 03 Python
Django中的forms组件实例详解
Nov 08 Python
python实现一组典型数据格式转换
Dec 15 Python
python贪吃蛇游戏代码
Apr 18 Python
如何基于Python实现数字类型转换
Feb 07 Python
Django User 模块之 AbstractUser 扩展详解
Mar 11 Python
numpy库reshape用法详解
Apr 19 Python
python3代码输出嵌套式对象实例详解
Dec 03 Python
python超详细实现完整学生成绩管理系统
Mar 17 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
linux下 C语言对 php 扩展
2008/12/14 PHP
php操作redis缓存方法分享
2015/06/03 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
PHP实现函数内修改外部变量值的方法示例
2018/12/28 PHP
Javascript 调试利器 Firebug使用详解六
2009/07/05 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
原生js实现查询天气小应用
2016/12/09 Javascript
js时间戳格式化成日期格式的多种方法介绍
2017/02/16 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
2018/02/05 Javascript
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
Python实现简单文本字符串处理的方法
2018/01/22 Python
python re模块的高级用法详解
2018/06/06 Python
Python容器类型公共方法总结
2020/08/19 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
网吧最新创业计划书范文
2014/03/27 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
个人四风问题整改措施思想汇报
2014/10/04 职场文书
党建工作汇报材料
2014/12/24 职场文书
Python基础之函数嵌套知识总结
2021/05/23 Python
MySQL查询日期时间
2022/05/15 MySQL