用python祝福生日快乐,Python生日祝福

  用python祝福生日快乐,Python生日祝福

  重要的话要放在前面:

  无论你是计算机编程语言初学者\还是C初学者\还是爪哇初学者

  过节祝福祝生日最好的方式都是:

  其实经常有同学私信询问我们,程序员有什么浪漫的过节方式、有什么浪漫的代码之类的。

  我们的客服小姐姐每次耐心解答完以后,总要小心翼翼地提醒一句"千万别只发个代码就过了啊"。

  题主的操作就很靠谱,「已经提前准备好口红和巧克力了」——真是好男人,好程序猿的典范啊。

  有什么浪漫的代码吗?

  一说到浪漫惊艳的代码,许多极客战记资深选手纷纷带着「花之戒」跳了出来。

  这是一个类似蟒蛇龟库的游戏道具。

  其中setFlowerColor()对应的就是turtle.penup()和turtle.pendown()

  因此下方所展示的所有代码,均可将代码对象换成乌龟,并换成龟库中对应的函数即可直接运行。

  这位同学就通过使用心形函数和余弦函数创造了这幅作品。

  心形绘制函数

  定义心形(x,y,比例=1):

  self.toggleFlowers(False)

  PI=数学。产品改进(产品改进)

  定义xy(t):

  弧度=/180.0

  系数=0.01 *(t * t 40 * t 1200)

  return(coef * math。sin(t * rad _ in _ deg),coef * Math.cos(t*rad_in_deg))

  def draw(t,mul=1):

  电流x,电流y=xy(t)

  current_x *=scale*mul

  当前y *=比例

  self.moveXY(x current_x,y current_y)

  self.toggleFlowers(True)

  对于范围(61)内的t:

  绘制(吨)

  self.toggleFlowers(False)

  对于范围内的t(60,-1,-1):

  绘制(t,-1)

  其中x和y为心形中心最底部的坐标,比例为心形的大小,使用示例:

  波浪绘制函数

  def drawWave(y,x_first,x_last,dense=0.5,amp=10):

  X_STEP=0.5

  self.toggleFlowers(False)

  定义绘制(十):

  cy=Math.cos(x*dense) * amp

  self.moveXY(x,y cy)

  self.toggleFlowers(True)

  x=x_first

  而x=x_last:

  绘制(十)

  x=X_STEP

  因为余弦函数是一个横向的曲线函数,所以参数y是设置曲线的中心高度,x_first是设置曲线的起点,x_last是设置曲线的重点,而稠密的则是设置波动的密度,数字越大,波动就越密集,放大器则是设置波动的高度。

  使用示例:

  如果觉得只是曲线和心形比较单调,那还可以用上一些花朵与笑脸来填充

  #角度偏移:从弧度=0开始逆时针方向的偏移量(以弧度为单位),它决定了第一朵花的花瓣顶点的绘制位置

  def drawMetaFlower(x,y,minRadius=5,maxRadius=25,petals=5,angleOffset=0,centerCircle=False):

  如果最小半径最大半径:

  最小半径,最大半径=最大半径,最小半径

  diffRadius=最大半径-最小半径

  angleStep=(数学。* 2/花瓣)/12

  hero.toggleFlowers(False)

  hero.moveXY(

  x maxRadius * math。cos(角度偏移),

  y最大半径*数学。sin(角度偏移))

  hero.toggleFlowers(True)

  对于范围内的角度(角度步长,数学* 2,angleStep):

  #计算时,记得将角度偏移加到角中

  angleThisStep=角度角度偏移量

  radiusThisStep=最小半径(不同半径/2)*(1数学。cos(角度*花瓣))

  hero.moveXY(

  x radiuthiststep * math。cos(angleThisStep),

  y radiusThisStep * math。sin(angleThisStep))

  如果圆心:

  hero.setFlowerColor(白色)

  绘制圆(x,y,最小半径)

  hero.toggleFlowers(False)

  def drawCircle(x,y,size):

  角度=0

  hero.toggleFlowers(False)

  而角度=数学。圆周率* 2:

  newX=x (size * Math.cos(angle))

  newY=y (size * Math.sin(angle))

  hero.moveXY(newX,newY)

  hero.toggleFlowers(True)

  角度=0.2

  定义距离(p1,p2):

  返回((P1。x-p2。x)* * 2(P1。y-p2。y)* * 2)* * 0.5

  oldPos=[]

  newPos={

  x :无,

  y :无}

  colors=[红色,蓝色,黄色,紫色,蓝色,黄色,紫色]

  对于范围(15)内的我:

  #让花朵彼此不要靠得太近

  对于范围(7)中的k:退出前通过# 7次

  好=真

  newPos.x=70*Math.random() 50

  newPos.y=50*Math.random() 50

  #遍历每个旧位置,以确保新位置不会太靠近它们中的任何一个

  对于范围内的n(len(oldPos)):

  如果距离(newPos,oldPos[n]) 20:

  好=假

  破裂

  如果好:

  破裂

  英雄。setflowercolor(colors[math。ceil(数学。random()* len(colors))-1])

  drawMetaFlower(

  newPos.x,

  newPos.y,

  minRadius=Math.random()*2 1.5,

  maxRadius=Math.random()*8 9,

  angle offset=Math . random()* Math .* 2/5,

  中心圆=(^ 1)% 2)

  oldPos[i]={x:newPos.x, y:newPos.y}

  # p1是开始,p4是结束

  # p2和p3用于进近。曲线通常不会碰到这些点。

  #查看维基百科中的三次贝塞尔曲线了解更多信息

  def drawCubicBezier(p1,p2,p3,p4):

  hero.toggleFlowers(False)

  hero.moveXY(p1.x,p1.y)

  hero.toggleFlowers(True)

  b={x: p1.x, y: p1.y}

  #点与点之间的距离越远,t步骤越小。

  tStep=(距离(p1,p2)距离(p2,p3)距离(p3,p4))**-1.0

  对于范围内的t(0,1,tStep):

  乙。x=((1-t)* * 3 * P1。x)(3 *(1-t)* * 2 * t * p2。x)(3 *(1-t)* t * * 2 * P3。x)(t * * 3 * P4。x)

  乙。y=((1-t)* * 3 * P1。y)(3 *(1-t)* * 2 * t * p2)。y)(3 *(1-t)* t * * 2 * P3。y)(t * * 3 * P4。y)

  hero.moveXY(b.x,b.y)

  定义距离(p1,p2):

  返回((P1。x-p2。x)* * 2(P1。y-p2。y)* * 2)* * 0.5

  # x和y是中心的坐标

  #尺寸是从嘴的一端到另一端的宽度

  def drawSmiley(x,y,size):

  bezCurves=[ #这是位置的2D数组

  #嘴巴

  [{x: x - size*0.5, y: y},

  {x: x大小*0.35, y: y大小*0.7},

  {x: x尺寸*0.35, y: y尺寸*0.7},

  {x: x大小*0.5, y: y}],

  #右眼

  [{x: x大小*0.32,“y”:y大小*0.35},

  {x: x尺寸*0.26, y: y尺寸*0.65},

  {x: x尺寸*0.18, y: y尺寸*0.65},

  {x: x尺寸*0.12, y: y尺寸*0.35}],

  #左眼

  [{x: x尺寸*0.12, y: y尺寸*0.35},

  {x: x尺寸*0.18, y: y尺寸*0.65},

  {x: x尺寸*0.26, y: y尺寸*0.65},

  {x: x大小*0.32,“y”:y大小*0.35}]

  ]

  对于范围内的I(len(bez曲线)):

  绘制立方贝塞尔曲线(

  bezCurves[i][0],

  bezCurves[i][1],

  bezCurves[i][2],

  bezCurves[i][3]

  )

  定义xyToPos(x,y):

  return {x: x, y: y}

  colors=[粉色,红色,黄色,蓝色,紫色,白色]

  对于范围内的列(1,5 1):

  对于范围(1,4,1)中的行:

  hero.setFlowerColor(

  颜色[数学。ceil(数学。random()* len(colors))-1])

  drawSmiley(x=col*25 10,y=125 *(col 1)% 2)row * 25 *(col 1)% 2)10,size=15)

  hero.toggleFlowers(False)

  将这几个函数改变些许参数组合使用,就能用代码创作出一幅精美的作品啦~

  除了直接的代码绘画,用代码来写情诗,也是独具心意的浪漫方式呢。

  计算机编程语言选手:

  生活=世界

  对于生命中每一天:

  如果天!=u :

  及格

  翻译:

  人生在世

  日夜更迭

  倘若无你

  恍惚虚无

  C选手:

  while(me:find())

  if(me:met()==you:self())

  我:出去你好世界。

  翻译:

  我一直在寻找

  当我找到了你

  便找到了整个世界

  爪哇岛选手:

  抽象类我的爱实现了您的加热器{

  String MyLove(String I_do){

  返回永远永远;

  }

  翻译:

  抽象出我的爱注入你心中

  若你愿意

  我便爱你直到永久

  感觉不错吧!

  看完上面的内容,是否想好了自己的「云端情人节」要怎么过了吗?

  别担心别纠结,无论你选择哪种表达形式,只要你是真心实意地在准备,那就足够啦~

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: