黑白爱心图形打印,内容只有英文字符才能完整描绘心形
def A(S,b):
s="\n".join(["".join([(S[(x-y) % len(S)] \
if ((x*0.04)**2+(0.1*y)**2-1)**3-(x*0.04)**b*(0.1*y)**3 \
<=0 else " ") for x in range(-30,30)]) \
for y in range(30,-20,-1)])
print(s)
S='I Love You,Baby!'
A(S,2)
?用汉字和表情就会变形,此时的心形函数参数不再适用
彩色动态爱心打印
turtle 模块以面向对象和面向过程的方式提供 turtle 图形基元,使用Tkinter作为基础图形,不过turtle模块为python标准库,是自带的
在这篇文章中弹窗的实现也使用了tkinter模块
python几行代码轻松实现多重弹窗趣味整蛊小程序_ASS-ASH的博客-CSDN博客
import turtle
A='我喜欢你呀!小猪猪!' #爱心中心显示的内容
def C():
for i in range(200):
turtle.right(1)
turtle.forward(2)
turtle.setup(width=900,height=600) # 画布大小
turtle.color('pink','red') # 爱心图案中心颜色及边缘颜色
turtle.pensize(8) # 画笔粗细
turtle.speed(10) # 绘制速度
turtle.up()
turtle.hideturtle()
turtle.goto(0,-180)
turtle.showturtle()
turtle.down()
turtle.speed(10)
turtle.begin_fill()
turtle.left(140)
turtle.forward(224)
C()
turtle.left(120)
C()
turtle.forward(224)
turtle.end_fill()
turtle.pensize(5)
turtle.up()
turtle.hideturtle()
turtle.goto(0,0)
turtle.showturtle()
turtle.color('blue') #爱心中心内容的颜色
turtle.write(A,font=('gungsuh',30,),align="center")
turtle.up()
turtle.hideturtle()
window=turtle.Screen() #锁定画布屏幕范围
window.exitonclick() #单击退出
?关于绘制速度turtle.speed()
turtle 的速度介于0到10之间
- 速度字符串与速度值对应方式:
- ‘fastest’:0
- ‘fast’:10
- ‘normal’:6
- ‘slow’:3
- ‘slowest’:1
其实实际速度差不多,反正不能秒画完成
结果如下:(红色-蓝色,红色-绿色,红色-黑色,红色-黄色,红色-白色等都在图形中显示得比较清晰)
结果图为外圈边缘色为粉色,内部整个爱心为红色效果图,即第一个turtle.color(pink,red)的设定,第二个turtle.color(blue)即为文字内容颜色
|