Python画国旗

前言

今天,我们来用turtle库来绘制国旗

一、美国国旗

国旗的形状是长方形;国旗的长宽之比为19:10,美国国旗由红、白、蓝三色组成;画面格局由两部分组成,旗的左上方蓝底上排列着50颗白色的星,6颗一排与5颗一排相间排列,共排9行;旗的其余部分是13道红白相间的条子,有7道红色横条以及6道白色横条 。

python 复制代码
import  turtle    
t = turtle.Pen()
b = turtle.Pen()   
t.speed(800)      
def ct(c):    
    t.color(c)     
    t.begin_fill()
    for i in range(2):
        t.forward(247)  
        t.right(90)
        t.forward(10)
        t.right(90)
    t.end_fill()
for i in range(14):  
    if i%2==1:   
        c ='white'
    else:
        c ='red'
    ct(c)
    t.right(90)
    t.forward(10)
    t.left(90)
t.up()     
t.home()
t.down()
for j in range(4):   
    t.color('blue')    
    t.begin_fill()
    t.forward(120)
    t.right(90)
    t.forward(70)
    t.right(90)
    t.end_fill()
def wjx():       
    b.color('white')
    b.begin_fill()
    for g in range(5):
        b.forward(6)
        b.left(144)
    b.end_fill()
def wjx6():     
    for l in range(6):
        b.up()
        b.forward(3)
        b.down()
        wjx()
        b.up()
        b.forward(18)
        b.down()
def wjx5():     
    for l in range(5):
        b.up()
        b.forward(10)
        b.down()
        wjx()
        b.up()
        b.forward(13)
        b.down()
b.right(90)    
b.forward(7)      
b.left(90)
for u in range(9):      
    if u%2 == 0:        
        wjx6()
    else:
        wjx5()     
    b.up()     
    b.home()
    b.right(90)
    b.forward((u+2)*7)
    b.left(90)
    b.down()
turtle.done()   

二、奥兰群岛旗

奥兰群岛又称阿赫韦南马群岛(Ahvenanmaa),是芬兰唯一的一个自治省,位于芬兰的西南沿海,由6500个小岛组成,岛上居民2.5万人,大多以瑞典语为母语。奥兰群岛的首府是玛丽港(Mairenhamn)。

python 复制代码
import turtle
 
width = 900
height = 600
 
turtle.screensize(width,height,"#0053a5")
turtle.setup(width,height)
t = turtle.Turtle()
t.speed(10)
 
t.pencolor("#ffce00")
t.fillcolor("#ffce00")
t.hideturtle()
 
t.penup()
t.goto(0,-170/3)
t.pendown()
t.begin_fill()
t.forward(width / 2)
t.left(90)
t.forward(170)
t.left(90)
t.forward(width)
t.left(90)
t.forward(170)
t.end_fill()
 
t.penup()
t.goto(0,height/2)
t.pendown()
t.begin_fill()
t.forward(height)
t.right(90)
t.forward(170)
t.right(90)
t.forward(height)
t.end_fill()
 
t.pencolor("#d21034")
t.fillcolor("#d21034")
 
t.penup()
t.goto(-170 / 3,height/2)
t.pendown()
t.begin_fill()
t.left(90)
t.forward(170/3)
t.left(90)
t.forward(height)
t.left(90)
t.forward(170/3)
t.end_fill()
 
t.penup()
t.goto(-width/2,0)
t.pendown()
t.begin_fill()
t.forward(width)
t.left(90)
t.forward(170/3)
t.left(90)
t.forward(width)
t.left(90)
t.end_fill()
 
turtle.mainloop()
相关推荐
安妮的小熊呢3 分钟前
CRMEB开源商城系统 & 标准版系统(PHP)开发规范
开发语言·javascript·php
子榆.9 分钟前
CANN ATC编译器:模型从Python到达芬奇指令走了多远
开发语言·python·neo4j
lookaroundd10 分钟前
llm-compressor 普通量化调用链分析
python·算法
Loo国昌13 分钟前
从 Agent 编排到 Skill Runtime:企业 AI 工程化的下一层抽象
大数据·人工智能·后端·python·自然语言处理
Dontla20 分钟前
Multi-Agent多智能体项目如何从MVP过渡到生产项目?
开发语言
编码者卢布25 分钟前
【Azure Service Bus】Azure Service Bus Java SDK 中 Token 刷新异常的排查思路
java·python·azure
兰令水27 分钟前
topcode【随机算法题】【2026.5.20打卡-java版本】
java·开发语言·算法
liuyunshengsir29 分钟前
PyTorch 最小模型转 ONNX 完整样例
人工智能·pytorch·python
我还记得那天32 分钟前
C语言递归实现汉诺塔问题
c语言·开发语言
不吃土豆的马铃薯34 分钟前
Spdlog 入门:日志记录器与日志槽基础详解
服务器·开发语言·c++·c·日志·spdlog