猫史档案馆


【Python作品分享】【奇遇之旅】

用户:热带雨霖热带雨霖查看:0 回复:1 评论:0 创建时间:2021-07-11T08:04:09


【作品展示】

center_image

 

【作品介绍】

动物是人类的朋友,然而因为人类,使动物的总数有显著下降,所以,我借着陆地动物的主题来宣传保护野生动物的决心

 

【作品源代码】

import turtle


pen = turtle.Pen()
pen.speed((-10000))
turtle.speed((-10000))
value = [1000, 200, 4000, 1300]
animals = ['大熊猫', '金丝猴', '黑颈鹤', '麋鹿']

def ceil(value):

    cl = str(value)
    cl = cl.split('.')
    c = int(cl[0])
    if (len(cl) == 1):
        return value
    c1 = int(cl[1])
    if (c1 > 0):
        c += 1
    else:
        c = c
    return c

def drawLine(x, y, angle, distance):

    pen.penup()
    pen.goto(x, y)
    pen.pendown()
    pen.right(angle)
    pen.forward(distance)
    pen.left(angle)

def drawWord(x, y, angel, word):

    turtle.penup()
    turtle.goto(x, y)
    turtle.left(angel)
    turtle.write(word, font = ('Arial', 10, 'normal'))
    turtle.right(angel)

def drawXaxis(x, y, width, value):

    maxAxis = ceil(max(value))
    drawLine(x, y, 0, width)
    for i in range((len(value) + 1)):
        drawLine((i * width) / len(value) + x, y, 90, 6)
        drawWord((i * width) / len(value) + x, y - 23, 0, int(((i * maxAxis) / len(value))))

def drawYaxis(x, y, height, animals):

    drawLine(x, y, 270, height)
    for i in range(len(value)):
        drawLine(x, (i * height) / len(animals) + y, 180, 6)
        drawWord(x - 23, (((i * height) / len(animals) + y) + (height / len(animals)) / 2) - 9, 0, animals[i])
    drawLine(x, height + y, 180, 6)

def drawBar(x, y, width, height):

    pen.penup()
    pen.goto(x, y)
    pen.pendown()
    pen.begin_fill()
    pen.color('black')
    pen.forward(width)
    pen.right(90)
    pen.forward(height)
    pen.right(90)
    pen.forward(width)
    pen.right(90)
    pen.color("#328895")
    pen.forward(height)
    pen.end_fill()
    pen.right(90)

def drawBarPlot(x, y, width, height, animals, value):

    maxAxis = ceil(max(value))
    for j in range(len(animals)):
        v = value[j]
        w = ((v / maxAxis) * width)
        drawBar(x, ((j * height) / len(animals) + y) + height / len(animals), w, height / len(animals))
        drawWord((x + w) + 36 / 2, (((j * height) / len(animals) + y) + (height / len(animals)) / 2) - 9, 0, v)

turtle.penup()
turtle.goto(0, 310)
turtle.write('中国濒临灭绝的物种', align= 'center', font = ('normal', 20, 'bold'))
turtle.goto(-330, 180)
turtle.write('大熊猫是一种以食竹为主的食肉目动物,\n不仅集珍稀、濒危、特产于一身,而且非常古老,有“活化石”之称。\n与其同喵的古动物剑齿虎、猛犸象、巨貘等均已因冰川的侵袭而灭绝,\n惟有大熊猫因隐退山谷而遗存下来。现仅分布于中国四川、陕西、甘肃约40\n个县境内的群山叠翠的竹林中,过着与世无争的隐居生活。', font = ('Arial', 15, 'normal'))
turtle.goto(-330, 70)
turtle.write('中国金丝猴包括川、滇、黔三种,\n大家比较熟悉的当属川金丝猴。川金丝猴,分布于四川、陕西、湖北及甘肃,\n深居山林,结群生活。背覆金丝“披风”,攀树跳跃、腾挪如飞。', font = ('Arial', 15, 'normal'))
turtle.goto(-330, -50)
turtle.write('黑颈鹤是世界上唯一一种高原鹤类,\n藏族人民心目中神圣的大鸟,也是世界十五鹤中被最晚记录到的一种鹤,\n它是俄国探险家普热尔瓦尔斯基于1876年在中国青海湖发现的。黑颈鹤夏季\n在西藏繁殖,冬季迁至云贵越冬,少数还飞越喜马拉雅山至不丹越冬。', font = ('Arial', 15, 'normal'))
turtle.goto(-330, -200)
turtle.write('“四不象”为麋鹿的俗名,\n它是做为中国特有的湿地鹿类,\n曾于1900年在中国本土灭绝的,\n幸有少量存于欧洲,经过喵的养护,\n种群才得以恢复。', font= ('Arial', 15, 'normal'))
turtle.goto(150, -90)
turtle.write('濒临灭绝物种总数', font = ('normal', 10, 'bold'))
drawXaxis(100, (-300), 200, value)
drawYaxis(100, (-300), 200, animals)
drawBarPlot(100, (-300), 200, 200, animals, value)

pen.hideturtle()
turtle.hideturtle()
turtle.done()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
财产喵财产喵

可还行

点赞0


评论