一篇文章教你用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程序中操作文件之flush()方法的使用教程
May 24 Python
详谈python http长连接客户端
Jun 12 Python
Python 中pandas.read_excel详细介绍
Jun 23 Python
Python制作词云的方法
Jan 03 Python
Python使用win32 COM实现Excel的写入与保存功能示例
May 03 Python
使用Python脚本zabbix自定义key监控oracle连接状态
Aug 28 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
Python的形参和实参使用方式
Dec 24 Python
Python实现遗传算法(二进制编码)求函数最优值方式
Feb 11 Python
Python实现弹球小游戏
Aug 01 Python
python3爬虫中多线程的优势总结
Nov 24 Python
pycharm 使用anaconda为默认环境的操作
Feb 05 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
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
jquery中常用的SET和GET
2009/01/13 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
js表头排序实现方法
2015/01/16 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
js两种拼接字符串的简单方法(必看)
2016/09/02 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
2017/06/12 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
vue中使用vue-print.js实现多页打印
2020/03/05 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
Python 中的with关键字使用详解
2016/09/11 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
2018/06/11 Python
numpy中矩阵合并的实例
2018/06/15 Python
Python调用服务接口的实例
2019/01/03 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
python3 使用traceback定位异常实例
2020/03/09 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
写自荐信的注意事项
2014/03/09 职场文书
高中运动会广播稿
2014/09/16 职场文书
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书
2015公司年度工作总结
2015/05/14 职场文书
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server