美国队长的工资 python代码-Python | 用Python画个美队盾牌送给你

来源:程序人生

ID:coder_life

图片源自:复仇者联盟

作者

上海小胖

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

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

没错,她在看美队……

这男人比我帅?……

比我有钱?……

还是比我有腔调?……

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

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

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

先来看一个效果图:

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

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

所以我们先把这个动作封装成一个函数:def setpen(x, y):

# 抬笔

t.penup()

# 移动画笔到(x, y)

t.goto(x, y)

# 落笔

t.pendown()

t.setheading(0)

接下来就来画盾牌.

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

这里有一个技巧,就是后面填充的圆圈背景色是可以覆盖之前画的圆圈的背景色。def circle(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()

for i in range(n):

t.forward(l)

t.right(angle)

t.end_fill()

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

setpen(0, 0)

t.setheading(162)

t.forward(150)

t.setheading(0)

t.fillcolor('WhiteSmoke')

t.begin_fill()

t.hideturtle()

t.penup()

for i in range(5):

t.forward(l)

t.right(144)

t.end_fill()

主函数:def sheild():

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()

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

*声明:推送内容及图片来源于网络,部分内容会有所改动,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

- END -

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值