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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • windows无法打开图片显示内存不足_Windows图片和传真查看器

    windows无法打开图片显示内存不足_Windows图片和传真查看器解决Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足解决Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足问题问题分析解决办法一解决办法二解决Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足系统:Win10问题最近在使用Windows照片查看器打开一个jpg文件的时候异常Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足。请关闭一些目前没有使用的程序或者释放部分硬盘空间(如果硬盘几乎已满)

    2022年10月26日
  • vim退出编辑模式非esc_centos保存退出vim

    vim退出编辑模式非esc_centos保存退出vimlinux中退出vi编辑器,按下esc没反应的解决办法:1、在正常模式下按下q键盘;2、选择【a-z】或【0-9】中任意一个作为缓冲器的名字,准备开始录制宏;3、在非insert模式下输入q停止宏的录制;4、使用@和定义的缓冲器名字即可。linux中退出vi编辑器,按下esc没反应的解决办法:vimrecording功能介绍使用vim时无意间触碰到q键,左下角出现“recording”这个标识,…

  • MDK5 (Keil5)注册机破解[通俗易懂]

    MDK5 (Keil5)注册机破解[通俗易懂]下载个破解注册机网上到处都是!   1、以管理员身份定位打开KeiluVision5软件   2、打开后如下操作        3、显示如下,图中箭头空白说明未破解过            4、运行上面的注册机 将下面的ComputerID复制到打…

  • Nessus 安装文件和详细教程(kali系统,附网盘下载链接)[通俗易懂]

    Nessus 安装文件和详细教程(kali系统,附网盘下载链接)[通俗易懂]Nessus安装详细教程(kali系统)1.下载Nessus安装文件官网下载csdn下载百度网盘下载(提取码:swu1)2.rz将文件传输到kali中的根目录下3.root@kali:~#dpkg-iNessus-5.2.1-ubuntu910_amd64.deb#执行安装命令4.然后常见一个用户,命令如图。5.激活Nessus…

  • js根据经纬度计算距离

    js根据经纬度计算距离varEARTH_RADIUS=6378137.0;//单位MvarPI=Math.PI;functiongetRad(d){returnd*PI/180.0;}/***caculatethegreatcircledistance*@param…

  • pycharm汉化版安装_pokemmo语言汉化包

    pycharm汉化版安装_pokemmo语言汉化包一、在PyCharm主窗口中点击菜单栏中的File菜单下的Settings,进入PyCharm设置窗口,如下图所示二、在Setting中选择Plugins选项进入PyCharm插件管理窗口,在下图标注2处输入“chinese”系统会自动搜索相关插件,找到如下图标注3处所示的chinese(simplified)languagepackeap插件安装此插件(点击下图标注4处Install按钮)三、PyCharm中文语言插件安装完成后需要重启PyCharm,如下图所示。点击下图标注1或2处RE

发表回复

您的电子邮箱地址不会被公开。

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