以下为一串python的五星红旗代码供参考
点击查看代码
`import turtle
import math# 设置画布
screen = turtle.Screen()
screen.setup(480, 320) # 设置分辨率为 480x320
screen.bgcolor("white")
#screen.title("五星红旗")# 设置画笔
flag = turtle.Turtle()
flag.speed(0) # 设置画笔速度为最快
flag.penup() # 提起画笔,避免画出线条# 绘制红色矩形
def draw_rectangle():flag.goto(-240, 160) # 定位到左上角flag.pendown()flag.color("red")flag.begin_fill()for _ in range(2):flag.forward(480) # 宽度flag.right(90)flag.forward(320) # 高度flag.right(90)flag.end_fill()flag.penup()# 绘制五角星
def draw_star(center, size, angle):flag.goto(center)flag.setheading(angle) # 设置五角星的初始角度flag.pendown()flag.color("yellow")flag.begin_fill()for _ in range(5):flag.forward(size)flag.right(144)flag.end_fill()flag.penup()# 绘制大五角星
def draw_big_star():center = (-180, 120) # 大五角星的中心点draw_star(center, 50, -72) # 大五角星的大小为 50,初始角度为 -72 度return center# 绘制小五角星
def draw_small_stars(big_star_center):# 小五角星的中心点位置(根据国旗标准)small_stars_centers = [(-120, 140), # 第一个小五角星(-90, 110), # 第二个小五角星(-90, 70), # 第三个小五角星(-120, 50) # 第四个小五角星]for center in small_stars_centers:# 计算小五角星的旋转角度dx = big_star_center[0] - center[0]dy = big_star_center[1] - center[1]angle = math.degrees(math.atan2(dy, dx)) # 计算角度draw_star(center, 20, angle) # 小五角星的大小为 20# 绘制国旗
draw_rectangle()
big_star_center = draw_big_star() # 获取大五角星的中心点
draw_small_stars(big_star_center) # 根据大五角星的中心点绘制小五角星# 隐藏画笔
flag.hideturtle()# 保持窗口
screen.mainloop()`