美文网首页
python day5

python day5

作者: michaeljacc | 来源:发表于2016-06-11 21:00 被阅读237次


# encoding: utf-8
import turtle

t = turtle.Turtle()


# 画矩形, 分别是 x坐标, y坐标, 宽, 高, 颜色
def rect(x, y, width, height, color):
    # 先移动到矩形左上角
    t.penup()
    t.goto(x, y)
    t.pendown()
    # 设置矩形颜色, 开始填色
    t.fillcolor(color)
    t.begin_fill()
    # 再画矩形
    t.goto(x + width, y)
    t.goto(x + width, y - height)
    t.goto(x, y - height)
    t.goto(x, y)
    # 结束绘制并填色
    t.end_fill()


# 画圆形, 分别是 x坐标, y坐标, 半径, 颜色
# 注意 在这个函数中 x y 是圆心的坐标
def circle(x, y, r, color):
    t.penup()
    t.goto(x, -r)
    t.pendown()

    t.fillcolor(color)
    t.begin_fill()
    t.circle(r)
    t.end_fill()


# 用圆形和矩形画日本国旗
def japan(x, y, width, height):
    # 画底层的白色矩形旗面
    rect(x, y, width, height, '#ffffff')
    # 画中心的圆
    circle(0, 0, 50, '#ff0000')


# 用三个矩形拼装成 法国国旗
def france(x, y, width, height):
    w = width / 3
    rect(x,         y, w, height, '#0000ff')
    rect(x + w,     y, w, height, '#ffffff')
    rect(x + w + w, y, w, height, '#ff0000')


def germany(x, y, width, height):
    h = height / 3
    rect(x, y,          width, h, 'black')
    rect(x, y - h,      width, h, 'red')
    rect(x, y - h - h,  width, h, 'yellow')


def gambia(x, y, width, height):
    h = height / 3
    rect(x, y,          width, h, 'red')
    rect(x, y - h,      width, h, 'white')
    rect(x, y - h - h,  width, h, 'green')
    # 加一个蓝条
    # 蓝条高度 h1
    # 蓝色矩形的 y 就应该是 y - (h - h1) / 2
    h1 = h * 2 / 3
    y1 = y - (h - h1) / 2
    rect(x, y1 - h, width, h1, 'blue')


def switzerland(x, y, width, height):
    rect(x, y, width, height, 'red')
    long = height * 2 / 3
    w = height / 5
    longx = width / 3 / 2
    longy = y - height / 5
    rect(longx, longy, w, long, 'white')


def flag():
    x = -150
    y = 100
    width = 300
    height = 200
    # japan(x, y, width, height)
    # france(x, y, width, height)
    # germany(x, y, width, height)
    # gambia(x, y, width, height)
    switzerland(x, y, width, height)


# 4
# 用题 3 的函数画德国国旗 冈比亚国旗 瑞士国旗

# 5
# 用 3 个函数画朝鲜国旗
# 分别是 圆 矩形 五角星
# 提示, 使用之前定义的函数

# 6
# 用之前的题目的函数 画出美国国旗
# 美国国旗是 13 条横杠 加上 50 颗星星, 所以使用循环


flag()


turtle.done()

相关文章

网友评论

      本文标题:python day5

      本文链接:https://www.haomeiwen.com/subject/vvkedttx.html