大家好,欢迎来到Crossin的编程课堂!前几天后台小伙伴总是留言“爱码”。这不是Crossin很久以前发的吗?怎么最近又被挖出来了?后来才知道,原来是一部很火的程序员青春偶像剧,《点燃我,温暖你》,剧中还有一段是期中考试用程序画心。于是出于好奇,Crossin去看了这一集(第5集,不客气)。看了没关系,刚吃的鸡腿我都快喷出来了——槽点太多了!忍不住吐槽了一段代码解读视频,在某平台获得了20w的播放量,也算是掀起了其他电视剧的一波热度……https://www.bilibili。com/video...以下为图文版。让我来分析一下剧中出现的“爱情”代码,让我们重现男主最后完成的那颗冰冷跳动的心吧。剧中代码欣赏首先是一位路人同学的代码:剧中虽然说是“C语言期中考试”,但这位同学的代码叫做draw2.py,典型的Python文件,结合笔.forward,按照pen.setpos等方法,应该是用turtle海龟作为库来画心。效果通常是这样的:importturtleastt.color('red')t.setheading(50)t.begin_fill()t.circle(-100,170)t.circle(-300,40)t.right(38)t.circle(-300,40)t.circle(-100,170)t.end_fill()t.done()代替剧中命令行下1组成的不规则图形。然后是课代表给路人看的优秀代码:和所谓的效果:这确实是C语言代码,但是文件还是以.py为后缀,而且include前面没有#,这显然不能运行。里面的内容可以画一颗爱心,用这个爱心曲线公式:然后遍历一个1517的方阵,计算每个坐标是在曲线内还是在曲线外,输出#还是里面,外面——用python改写成这样:foryinrange(9,-6,-1):forxinrange(-8,9):print('*##*'[(x+10)%4]if(x*x+y*y-25)**3<25*x*x*y*y*yelse'-',end='')print()效果:稍微改变一下输出,也让之前的效果全为1:foryinrange(9,-6,-1):forxinrange(-8,9):print('1'if(x*x+y*y-25)**3<25*x*x*y*y*yelse'',end='')print()但是和剧中所谓的效果相去甚远。最后,主角的打情骂俏很酷:代码有两个片段:但是这两个片段不是C语言,而是C++,而且这两个片段不是同一个程序,使用的方法也完全不同。第一段代码与上一段类似,只是没有直接使用曲线,而是在上半部分使用两个圆圈,在下半部分使用两条直线围成一个心。重写为Python代码:size=10forxinrange(size):foryinrange(4*size+1):dist1=((x-size)**2+(y-size)**2)**0.5dist2=((x-size)**2+(y-3*size)**2)**0.5如果dist1
