您现在的位置: 主页 > 上位机技术 > python > Python | 用Python画个美队盾牌送给你
本文所属标签:
为本文创立个标签吧:

Python | 用Python画个美队盾牌送给你

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-08-14 

点击上方“程序人生”,选择“置顶公众号”

第一时间关注程序猿(媛)身边的故事


图片源自:复仇者联盟

作者

上海小胖

如需转载,请联系原作者授权。



最近我媳妇每天晚上吃饭时候也拿手机看,上厕所也在看。

看着看着还会笑?WTF?你在干嘛呢?

没错,她在看美队……


这男人比我帅?……

比我有钱?……

还是比我有腔调?……

答案很明显,我相信你们的眼睛都是雪亮的。


那问题来了,作为一个男人,怎么能忍?虽然是个明星,虽然是假的,虽然已经挽回不了败局了……那我就送个美队的盾牌给你吧……


这篇文章不是Turtle的入门篇,所以关于基本的画笔使用小胖不在这篇里赘述了。有兴趣的可以后台留言,我会根据你们的反馈来写一篇或者一个系列。


先来看一个效果图:


用过Turtle的都知道,画笔是需要抬手和落笔的。这一点一定要理解,因为计算机是很死板的,你的每一个动作都必须告诉他,包括GC。

所以你的画笔一旦落下,经过的每一处都会留下字迹。如果希望隔开一段距离就需要经过「抬笔」->「移动画笔」->「落笔」。

所以我们先把这个动作封装成一个函数:

defsetpen(x, y):
# 抬笔
t.penup()
# 移动画笔到(x, y)
t.goto(x, y)
# 落笔
t.pendown()
t.setheading(0)


接下来就来画盾牌.

盾牌的话,注意观察美队盾牌,颜色是「红」->「白」->「红」->「蓝」。

这里有一个技巧,就是后面填充的圆圈背景色是可以覆盖之前画的圆圈的背景色。

defcircle(x, y, r, color):
# 为了保证画出的圆够圆,所以我们把圆的边设置的多一些
n =36
angle =360/ n
pi =3.1415926
# 周长
c =2* pi * r
# 每条边的长度
l = c / n
# 起始位置
start_x = x - l /2
start_y = y + r
# 移动画笔
setpen(start_x, start_y)
# 选择画笔颜色
t.pencolor(color)
# 选择背景色
t.fillcolor(color)
# 填充
t.begin_fill()
foriinrange(n):
t.forward(l)
t.right(angle)
t.end_fill()


接下来就是画里面那个白色的五角星了,这里就不注释了,因为和画圈的过程差不多。

deffive_star(l):
setpen(0,0)
t.setheading(162)
t.forward(150)
t.setheading(0)
t.fillcolor('WhiteSmoke')
t.begin_fill()
t.hideturtle()
t.penup()
foriinrange(5):
t.forward(l)
t.right(144)
t.end_fill()

主函数:

defsheild():
circle(0,0,300,'red')
circle(0,0,250,'white')
circle(0,0,200,'red')
circle(0,0,150,'blue')
five_star(284)


if__name__ =='__main__':
sheild()
# 结束乌龟图
turtle.done()


好啦,今天的内容就到这了,欢迎留言说说你的想法~


- The End -

「若你有原创文章想与大家分享,欢迎投稿。」

加编辑微信ID,备注#投稿#:

程序 丨 druidlost

小七 丨 duoshangshuang


快来参与免费送书线上分享

扫描下方海报二维码,添加小助手,回复「分享」,小助手会邀你进群。免费听《程序员的成长课》该书作者安晓辉的分享。


同时,作者还会在群里和大家交流互动,为你个人在未来职业规划上的问题和困惑指明方向。


分享结束后,会在群内抽出3名互动积极用户,免费送出作者著作一本!



上期精彩内容



              查看评论 回复



嵌入式交流网主页 > 上位机技术 > python > Python | 用Python画个美队盾牌送给你
 画笔 所以 分享

"Python | 用Python画个美队盾牌送给你"的相关文章

网站地图

围观()