python动图爱心表白_用python画动态图

python动图爱心表白_用python画动态图初级画心学Python,感觉你们的都好复杂,那我来个简单的,我是直接把心形看作是一个正方形+两个半圆:于是这就很简单了,十行代码解决:importturtleastt.pensi…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

python动图爱心表白_用python画动态图

初级画心

学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动图爱心表白_用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动图爱心表白_用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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184811.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月7日 下午8:00
下一篇 2022年10月7日 下午8:00


相关推荐

  • 数据结构之循环队列C语言实现(详细)[通俗易懂]

    数据结构之循环队列C语言实现(详细)[通俗易懂]队列的一些说明队列的定义队列,一种特殊的线性表特点:只允许在一端输入,在另一端输出。输入端称为队尾,输出端称为队头因此,队列,又称为先进先出表(FIFO),类似于生活中的排队,先来的排在前头,后来的排在后头,一个一个办理业务。队列有两种,一种叫做循环队列(顺序队列),另一种叫做链式队列。这一篇讲的是循环队列,链式队列在另外一篇文章中循环数组循环队列使用的是数组,但是这个数组比较特别,为循环数组。为什么要使用循环数组呢?可以想象一下,假如我们使用通常的数组。那么在使用过程中,我们是从后面加

    2022年5月26日
    50
  • pycharm中安装第三方库(模块)总是失败,解决方法

    pycharm中安装第三方库(模块)总是失败,解决方法pycharm 中安装第三方库 模块 总是失败 解决方法 最近 我在安装 pycharm 中安装模块总是失败 尝试了许多方法后终于成功了 解决方法如下 首先打开 pycharm 点击 file gt settings gt projectinter gt 在这个界面找到你想要下载的模块 再点击 installpacka 下载这时候如果报错 可以参考链接如果再三尝试都不行 那就在 Options 上打钩 在右侧输入 trusted hostmirrors aliy

    2026年3月27日
    2
  • 科大讯飞助力“挑战杯”,展现国产算力新高度

    科大讯飞助力“挑战杯”,展现国产算力新高度

    2026年3月14日
    1
  • linux ntp配置文件_linux安装ntp服务

    linux ntp配置文件_linux安装ntp服务在Linux系统中,为了避免主机时间因为在长时间运行下所导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的。Linux系统下,一般使用ntp服务来同步不同机器的时间。NTP是网络时间协议(NetworkTimeProtocol)的简称,干嘛用的呢?就是通过网络协议使计算机之间的时间同步化。安装NTP包检查是否安装了ntp相关包。如果没有安装ntp相关包,使用rpm或y…

    2022年10月11日
    4
  • 出行的好帮手 – Google地图

    出行的好帮手 – Google地图

    2021年8月6日
    68
  • linux重启nginx命令「建议收藏」

    linux重启nginx命令「建议收藏」先找到nginx进程号,命令如下ps-ef|grepnginx重启命令kill-HUP进程号kill-HUP2072常用命令#杀死进程kill-QUIT2072#强制停止pkill-9nginx#验证nginx配置文件是否正确#方法一:进入nginx安装目录sbin下,输入命令./nginx-t#看到如下显示nginx.confsyntaxisoknginx.conftestissuccessful…

    2022年6月19日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号