mac:10.15.3
pycharm: 2019.3
python:3.7
需要安装turtle 和 time 模块
import turtle # 画图的模块
import time # 时间控制模块
class flag():
def set_flag(self):
turtle.setup(width=0.9, height=0.34) # 设置turtle 画布比例,也可以输入整数,按像素设置
turtle.bgcolor("red") # 设置底色为红色
turtle.color("yellow") # 设置画笔填充色
turtle.speed(10) # 设置绘画速度
def print_star(self, location, heading, line, angle):
turtle.begin_fill() # 准备开始填充颜色
turtle.up() # 可以理解为抬起画笔,否则会一直记录画笔
turtle.goto(location[0], location[1]) # 移动画笔到该位置
turtle.setheading(heading) # 设置起笔角度
turtle.down() # 下笔开始画
n = 0
while n < 5:
turtle.forward(line) # 画多长的线
turtle.left(angle[0]) # 转动角度
turtle.forward(line)
turtle.right(angle[1])
n += 1
turtle.end_fill() # 完成填充
time.sleep(1) # 暂停时间
def star_size(self):
lines = [94, 30] # [主星, 副星]边长长度
location = [[-555, 260], [-205, 385], [-175, 260], [-175, 145], [-205, 85]] # 五颗星星的位置
heading = [0, 265, 27, 2, 265] # 起笔角度
angle = [72, 144] # 转动角度
x = 0
y = 0
while x < 5:
line = lines[0] if x == 0 else lines[1]
# if x == 0:
# line = lines[0]
# else:
# line = lines[1]
self.print_star(location[x], heading[y], line, angle) # 执行打印
x += 1
y += 1
def main():
a = flag()
a.set_flag()
a.star_size()
if __name__ == '__main__':
main()