当前位置:   article > 正文

python爱心的编程代码,python编程画爱心代码_心形的python代码

心形的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(15,-15,-1)]))

在这里插入图片描述

拆解一下,能看明白点。

  1. a = [
  2. ''.join(
  3. [
  4. (
  5. 'Love'[(x-y)%len('Love')]
  6. if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' '
  7. )
  8. for x in range(-30,30)
  9. ]
  10. )
  11. for y in range(15,-15,-1)
  12. ]
  13. print('\n'.join(a))

输出 I 爱 U

空格与星号可以换位置,运行会有不一样的效果学python需要先学c么

  1. import time
  2. y = 2.5
  3. while y>=-1.6:
  4. x = -3.0
  5. while x<=4.0:
  6. if (x*x+y*y-1)**3<=3.6*x*x*y*y*y or (x>-2.4 and x<-2.1 and y<1.5 and y>-1) or (((x<2.5 and x>2.2)or(x>3.4 and x<3.7)) and y>-1 and y<1.5) or (y>-1 and y<-0.6 and x<3.7 and x>2.2):
  7. print('*',end="")
  8. else:
  9. print(' ',end="")
  10. x += 0.1
  11. print()
  12. time.sleep(0.25)
  13. y -= 0.2

在这里插入图片描述

填充型

输出五个爱心,分别由Dear I love you forever! 五个单词填充而成。

  1. import time
  2. sentence = "Dear, I love you forever!"
  3. for char in sentence.split():
  4. allChar = []
  5. for y in range(12, -12, -1):
  6. lst = []
  7. lst_con = ''
  8. for x in range(-30, 30):
  9. formula = ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3
  10. if formula <= 0:
  11. lst_con += char[(x) % len(char)]
  12. else:
  13. lst_con += ' '
  14. lst.append(lst_con)
  15. allChar += lst
  16. print('\n'.join(allChar))
  17. time.sleep(1)

动态画红心

桃心

  1. import turtle
  2. import time
  3. def LittleHeart():
  4. for i in range(200):
  5. turtle.right(1)
  6. turtle.forward(2)
  7. # love = input('请输入表白语句,然后回车,默认为"I Love You":\n')
  8. # me = input('请输入要表白的人:\n')
  9. # if love=='':
  10. # # 如果未输入表白语句,则使用默认语句
  11. # love='I Love you'
  12. love='I Love you'
  13. me = '卧槽,这年轻人。'
  14. turtle.setup(width=900,height=600) # 爱心的画布的大小
  15. turtle.color('red','red') # 爱心的颜色及外边笔的颜色
  16. turtle.pensize(5) # 画笔的粗细
  17. turtle.speed(1000000) # 绘制速度
  18. turtle.up() # 画笔向上
  19. turtle.hideturtle()
  20. turtle.goto(0,-180)
  21. turtle.showturtle()
  22. turtle.down()
  23. turtle.speed(5)
  24. turtle.begin_fill()
  25. # 开始填充
  26. turtle.left(140)
  27. turtle.forward(224)
  28. LittleHeart()
  29. turtle.left(120)
  30. LittleHeart()
  31. turtle.forward(224)
  32. turtle.end_fill()
  33. turtle.pensize(5)
  34. turtle.up()
  35. turtle.hideturtle()
  36. turtle.goto(0,0)
  37. turtle.showturtle()
  38. turtle.color('#CD5C5C','pink')
  39. turtle.write(love,font=('gungsuh',30,),align="center")
  40. turtle.up()
  41. turtle.hideturtle()
  42. if me !='':
  43. turtle.color('black', 'pink')
  44. time.sleep(2)
  45. turtle.goto(180,-180)
  46. turtle.showturtle()
  47. turtle.write(me, font=(20,), align="center", move=True)
  48. window=turtle.Screen()
  49. window.exitonclick()

在这里插入图片描述

线性

  1. import turtle
  2. import math
  3. turtle.pen()
  4. t=turtle
  5. t.up()
  6. t.goto(0,150)
  7. t.down()
  8. t.color('red')
  9. t.begin_fill()
  10. t.fillcolor('red')
  11. t.speed(1)
  12. t.left(45)
  13. t.forward(150)
  14. t.right(45)
  15. t.forward(100)
  16. t.right(45)
  17. t.forward(100)
  18. t.right(45)
  19. t.forward(100)
  20. t.right(45)
  21. t.forward(250+math.sqrt(2)*100)
  22. t.right (90)
  23. t.speed(2)
  24. t.forward(250+100*math.sqrt(2))
  25. t.right(45)
  26. t.forward(100)
  27. t.right(45)
  28. t.forward(100)
  29. t.right(45)
  30. t.forward(100)
  31. t.right(45)
  32. t.forward(150)
  33. t.end_fill()
  34. t.goto(-10,0)
  35. t.pencolor('white')
  36. # L
  37. t.pensize(10)
  38. t.goto(-50,0)
  39. t.goto(-50,80)
  40. t.up ()
  41. # I
  42. t.goto(-100,0)
  43. t.down()
  44. t.goto(-160,0)
  45. t.goto(-130,0)
  46. t.goto(-130,80)
  47. t.goto(-160,80)
  48. t.goto(-100,80)
  49. t.up()
  50. # O
  51. t.goto(10,25)
  52. t.down()
  53. t.right(45)
  54. t.circle(25,extent=180)
  55. t.goto(60,55)
  56. t.circle(25,extent=180)
  57. t.goto(10,25)
  58. t.up()
  59. t.goto(75,80)
  60. t.down()
  61. t.goto(100,0)
  62. t.goto(125,80)
  63. t.up()
  64. t.goto(180,80)
  65. t.down()
  66. t.goto(140,80)
  67. t.goto(140,0)
  68. t.goto(180,0)
  69. t.up()
  70. t.goto(180,40)
  71. t.down()
  72. t.goto(140,40)
  73. # U
  74. t.up()
  75. t.goto(-40,-30)
  76. t.down()
  77. t.goto(-40,-80)
  78. t.circle(40,extent=180)
  79. t.goto(40,-30)
  80. t.hideturtle()
  81. window=turtle.Screen()
  82. window.exitonclick()

在这里插入图片描述

立体红心

  1. import matplotlib
  2. import matplotlib.pyplot as plt #导入绘图模块
  3. from mpl_toolkits.mplot3d import Axes3D #3d绘图模块
  4. import numpy as np #导入数值计算拓展模块
  5. import time
  6. start = time.time()
  7. x_lim, y_lim, z_lim = np.linspace(-10,10,520), np.linspace(-10,10,520), np.linspace(-10,10,520)
  8. # 用来存放绘图点X,Y,Z坐标
  9. X_points, Y_points, Z_points = [], [], []
  10. for x in x_lim:
  11. for y in y_lim:
  12. for z in z_lim:
  13. if (x**2+(9/4)*y**2+z**2-1)**3-(9/80)*y**2*z**3-x**2*z**3<=0:
  14. X_points.append(x)
  15. Y_points.append(y)
  16. Z_points.append(z)
  17. end = time.time()
  18. fig=plt.figure() # 画布初始化
  19. ax=fig.add_subplot(111,projection='3d') # 采用3d绘图
  20. ax.scatter(X_points,Y_points,Z_points,s=20,alpha=0.5,color="red") # 3d散点图填充
  21. plt.show()
  22. print(end-start)

运行了八百多秒,有点久。。。
在这里插入图片描述

画一朵玫瑰花

  1. # 绘制玫瑰花并添加文字
  2. import turtle
  3. # 设置画布大小
  4. # turtle.screensize(canvwidth=None, canvheight=None, bg=None)
  5. turtle.setup(width=0.6, height=0.6)
  6. # 设置初始位置
  7. turtle.penup()
  8. turtle.left(90)
  9. turtle.fd(200)
  10. turtle.pendown()
  11. turtle.right(90)
  12. # 输出文字
  13. printer = turtle.Turtle()
  14. printer.hideturtle()
  15. printer.penup()
  16. printer.back(200)
  17. printer.write("赠给亲爱的 XX\n\n", align="right", font=("楷体", 16, "bold"))
  18. printer.write("from XXX", align="center", font=("楷体", 12, "normal"))
  19. # 花蕊
  20. turtle.fillcolor("red")
  21. turtle.begin_fill()
  22. turtle.circle(10, 180)
  23. turtle.circle(25, 110)
  24. turtle.left(50)
  25. turtle.circle(60, 45)
  26. turtle.circle(20, 170)
  27. turtle.right(24)
  28. turtle.fd(30)
  29. turtle.left(10)
  30. turtle.circle(30, 110)
  31. turtle.fd(20)
  32. turtle.left(40)
  33. turtle.circle(90, 70)
  34. turtle.circle(30, 150)
  35. turtle.right(30)
  36. turtle.fd(15)
  37. turtle.circle(80, 90)
  38. turtle.left(15)
  39. turtle.fd(45)
  40. turtle.right(165)
  41. turtle.fd(20)
  42. turtle.left(155)
  43. turtle.circle(150, 80)
  44. turtle.left(50)
  45. turtle.circle(150, 90)
  46. turtle.end_fill()
  47. # 花瓣1
  48. turtle.left(150)
  49. turtle.circle(-90, 70)
  50. turtle.left(20)
  51. turtle.circle(75, 105)
  52. turtle.setheading(60)
  53. turtle.circle(80, 98)
  54. turtle.circle(-90, 40)
  55. # 花瓣2
  56. turtle.left(180)
  57. turtle.circle(90, 40)
  58. turtle.circle(-80, 98)
  59. turtle.setheading(-83)
  60. # 叶子1
  61. turtle.fd(30)
  62. turtle.left(90)
  63. turtle.fd(25)
  64. turtle.left(45)
  65. turtle.fillcolor("green")
  66. turtle.begin_fill()
  67. turtle.circle(-80, 90)
  68. turtle.right(90)
  69. turtle.circle(-80, 90)
  70. turtle.end_fill()
  71. turtle.right(135)
  72. turtle.fd(60)
  73. turtle.left(180)
  74. turtle.fd(85)
  75. turtle.left(90)
  76. turtle.fd(80)
  77. # 叶子2
  78. turtle.right(90)
  79. turtle.right(45)
  80. turtle.fillcolor("green")
  81. turtle.begin_fill()
  82. turtle.circle(80, 90)
  83. turtle.left(90)
  84. turtle.circle(80, 90)
  85. turtle.end_fill()
  86. turtle.left(135)
  87. turtle.fd(60)
  88. turtle.left(180)
  89. turtle.fd(60)
  90. turtle.right(90)
  91. turtle.circle(200, 60)
  92. turtle.done()

在这里插入图片描述

画树

  1. import turtle
  2. import random
  3. def love(x, y): # 在(x,y)处画爱心lalala
  4. lv = turtle.Turtle()
  5. lv.hideturtle()
  6. lv.up()
  7. lv.goto(x, y) # 定位到(x,y)
  8. def curvemove(): # 画圆弧
  9. for i in range(20):
  10. lv.right(10)
  11. lv.forward(2)
  12. lv.color('red', 'pink')
  13. lv.speed(10000000)
  14. lv.pensize(1)
  15. # 开始画爱心lalala
  16. lv.down()
  17. lv.begin_fill()
  18. lv.left(140)
  19. lv.forward(22)
  20. curvemove()
  21. lv.left(120)
  22. curvemove()
  23. lv.forward(22)
  24. lv.write("YZ", font=("Arial", 12, "normal"), align="center") # 写上表白的人的名字
  25. lv.left(140) # 画完复位
  26. lv.end_fill()
  27. def tree(branchLen, t):
  28. if branchLen > 5: # 剩余树枝太少要结束递归
  29. if branchLen < 20: # 如果树枝剩余长度较短则变绿
  30. t.color("green")
  31. t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))
  32. t.down()
  33. t.forward(branchLen)
  34. love(t.xcor(), t.ycor()) # 传输现在turtle的坐标
  35. t.up()
  36. t.backward(branchLen)
  37. t.color("brown")
  38. return
  39. t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))
  40. t.down()
  41. t.forward(branchLen)
  42. # 以下递归
  43. ang = random.uniform(15, 45)
  44. t.right(ang)
  45. tree(branchLen - random.uniform(12, 16), t) # 随机决定减小长度
  46. t.left(2 * ang)
  47. tree(branchLen - random.uniform(12, 16), t) # 随机决定减小长度
  48. t.right(ang)
  49. t.up()
  50. t.backward(branchLen)
  51. myWin = turtle.Screen()
  52. t = turtle.Turtle()
  53. t.hideturtle()
  54. t.speed(1000)
  55. t.left(90)
  56. t.up()
  57. t.backward(200)
  58. t.down()
  59. t.color("brown")
  60. t.pensize(32)
  61. t.forward(60)
  62. tree(100, t)
  63. myWin.exitonclick()

在这里插入图片描述

附录

参考资料:Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)_阿黎逸阳的代码-CSDN博客

如果想要把python文件转成exe文件,发送给没有安装Python的对象,在她/他的电脑上运行,可以参考  Pyinstaller(Python打包为exe文件)

文章知识点与官方知识档案匹配,可进一步学习相关知识
算法技能树首页概览61039 人正在系统学习中
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/586798
推荐阅读
相关标签
  

闽ICP备14008679号