Python画个美队盾代码
0 环境
Python版本:3.6.6
操作系统:Mac OS Mojave 10.14.2
1 引言
最近我媳妇每天晚上吃饭时候也拿手机看,上厕所也在看。
看着看着还会笑?WTF?你在干嘛呢?
没错,她在看美队……
这男人比我帅?……
比我有钱?……
还是比我有腔调?……
答案很明显,我相信你们的眼睛都是雪亮的。
那问题来了,作为一个男人,怎么能忍?虽然是个明星,虽然是假的,虽然已经挽回不了败局了……那我就送个美队的盾牌给你吧……
这篇文章不是Turtle的入门篇,所以关于基本的画笔使用小胖不在这篇里赘述了。有兴趣的可以留言,我会根据你们的反馈来写一篇或者一个系列。
2 实战
先来看一个效果图:
用过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()
以上所述是小编给大家介绍的用Python练习画个美队盾牌详解整合
python实现画五角星和螺旋线的示例
如下所示:
# -*- coding:UTF-8 -*-
__author__ = "zhangguodong"
__time__ = ".11.16"
import turtle
turtle.title("张国栋画五角星")
turtle.setup(500,300,0,0)
turtle.fillcolor("red")
turtle.begin_fill()
while True:
turtle.forward(220)
turtle.right(144)
if abs(turtle.pos()) < 1:
break
turtle.end_fill()
turtle.done()
# -*- coding:UTF-8 -*-
__author__ = "zhangguodong"
__time__ = ".11.17"
import turtle
turtle.title("张国栋绘制螺旋线")
turtle.setup(400,400,0,0)
turtle.speed(10) ###设置绘制时的速度
turtle.pensize(2) ###设置画笔尺寸
for x in range(100):
turtle.forward(2*x)
turtle.left(90)
turtle.done()
以上这篇python实现画五角星和螺旋线的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。
以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。