Loading... 今天带来一篇使用Python实现画出五星红旗 效果图如下: ![五星红旗](https://file.02ms.cn/view.php/1c23c1fd1ebfb5969daa985ec149a7fa.png) 以下是代码部分: ` ``` # 加载 turtle 模块和 math 模块 import turtle import math # 创建画笔对象,设置绘图速度、画布大小、窗口标题以及背景颜色等 t = turtle.Pen() canvas_width = 1000 # 画布大小(宽) canvas_height = 700 # 画布大小(高) t.speed(6) # 速度 screen = turtle.Screen() screen.title('中华人民共和国万岁') # 窗口标题 screen.setup(canvas_width, canvas_height) screen.bgcolor('red') # 背景颜色 # 计算五角星边长和比例尺的函数 def side_length(diameter): return math.sin(math.radians(72)) * diameter * 30 def scale(diameter): # 计算比例尺的函数 return canvas_width / 30 * diameter # 绘制五角星的函数 def star(diameter, angle): # 将画笔移动到五角星顶点处,并转向指定角度 t.setheading(angle) t.forward(scale(diameter) / 2) t.setheading(angle - 180) t.left(18) # 开始填充黄色并绘制五角星轮廓 t.begin_fill() t.fillcolor('yellow') # 将填充颜色设置为黄色 t.pencolor('yellow') # 将线条颜色设置为黄色 for i in range(5): t.forward(side_length(diameter)) t.right(144) t.end_fill() # 计算直线与 x 轴正半轴之间夹角的函数 def spin(x, y): return math.degrees(math.atan2(x, y)) # 绘制五角星的函数 def national_flag(x, y, z, h): # 将画笔移动到指定位置并绘制五角星 t.up() t.goto(-scale(x), scale(y)) t.down() t.pencolor('yellow') # 设置画笔颜色黄色 star(z, h) # 绘制五星红旗 national_flag(10, 5, 6, 180 - 18) # 绘制大五角星 national_flag(5, 8, 2, spin(3, 5) + 180) # 绘制第一颗小五角星 national_flag(3, 6, 2, spin(1, 7) + 180) # 绘制第二颗小五角星 national_flag(3, 3, 2, 180 - spin(2, 7)) # 绘制第三颗小五角星 national_flag(5, 1, 2, 180 - spin(4, 5)) # 绘制第四颗小五角星 t.hideturtle() # 完成绘制 turtle.done() # 等待关闭窗口 ```` 最后修改:2023 年 11 月 30 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏
1 条评论
你的文章让我学到了很多知识,非常感谢。http://www.hdjzb.com