zl程序教程

您现在的位置是:首页 >  前端

当前栏目

第十六届全国大学生智能车竞赛比赛获奖证书格式说明以及下载链接

链接下载智能 以及 说明 格式 证书 竞赛
2023-09-11 14:15:18 时间

简 介: 本文给出了 第十六届全国大学生智能车竞赛 获奖证书的格式说明以及制作方法。证书的格式也参照了 第十五届智能车竞赛电子证书格式说明 。同时,获奖证书下载链接在后面给出。

关键词 全国大学生智能车竞赛证书

01.证书格式
文章目录
比赛组别
获奖证书种类与格式
名次标注
02.证书下载与溯源
证书下载
证书溯源
03.博文附件
打印程序
信息核对

 

§01 书格式


一、比赛组别

1、竞速组别

竞速组别 总共有八个组别,分别是:

  • 普通四轮组
  • 全向行进组
  • 双车接力组
  • 节能信标组
  • 单车拉力组
  • 电磁越野组
  • 智能视觉组
  • 专科基础组

2、创意组别

二、获奖证书种类与格式

每支参赛队伍的证书包括有 参赛队员获奖证书参赛队伍获奖证书指导教师获奖证书。其中参赛队员、指导教师获奖证书是每位队员和教师都各有一份属于自己的整数。参赛队伍证书每个队伍只有一份证书。

下面介绍每种证书打印格式。

1、参赛队员获奖证书

▲ 图1.2.1 参赛队员证书样本

▲ 图1.2.1 参赛队员证书样本

2、指教导师获奖证书

▲ 图1.2.2 指导教师证书样本

▲ 图1.2.2 指导教师证书样本

3、参赛队伍获奖证书

▲ 图1.2.3 队伍获奖证书

▲ 图1.2.3 队伍获奖证书

三、名次标注

1、前五名标注名次

对于每个组别前五名的队伍,在奖项后面标注比赛名次。

▲ 图1.3.1 带有名次的证书

▲ 图1.3.1 带有名次的证书

2、并列名次

对于总决赛排名中,具有相同积分的队伍,打印证书时显示相同的排名。比如在 第十六届全国大学生智能车总决赛四轮基础组 排名前两支队伍都是积分449, 双车接力组 排名前3,4名队伍都是积分435分,他们在证书上的名次是相同的。

 

§02 书下载与溯源


一、证书下载

1、下载简介

竞赛组委会将会把参赛队伍的获奖证书制作成电子版本文件供大家下载。电子版本的文件将会以获奖组别打包上传到网络云盘。大家下载解压之后,可以通过文件命名来找到自己学校所有队伍获奖证书的电子文件。可以进行打印或者作为资料保存。

2、下载链接

(1) 无序列号版本

(2) 有序列号与溯源文档二维码版本

二、证书溯源

1、竞赛网站

获奖证书只是参赛队伍比赛成绩的外在展现,对于比赛成绩与获奖信息的最终认定与溯源,则可以直接在 智能车竞赛网站 下载正式竞赛成绩与奖项公告文档。

▲ 图2.1 智能车竞赛网站

▲ 图2.1 智能车竞赛网站

2、公布文档链接

3、证书编号与溯源二维码

根据 全国大学智能车竞赛证书编号规范 ,在证书的左上角增加证书编码序列。在证书的右下角增加成绩公布文档溯源二维码。

▲ 图2.2.1 证书对应成绩和奖项公布文档

▲ 图2.2.1 证书对应成绩和奖项公布文档

▲ 图2.2.2 带有序列号与溯源成绩获奖官方文档二维码

▲ 图2.2.2 带有序列号与溯源成绩获奖官方文档二维码

 

文附件 ※


一、打印程序

在提供给打印程序数据的时候,需要按照以下的格式给出信息。然后再调用后面打印程序。

组别赛区学校名称队伍名称指导教师1指导教师2参赛队员1参赛队员2参赛队员3奖项
双车接力组全国总决赛西南石油大学铁人搬家队杨超彭名华陈立涛于飞扬王定康白钊 二等奖
智能视觉组全国总决赛常熟理工学院电信视觉一队徐健华斯亮曾凯锋张桢晨-- 二等奖
专科基础组全国总决赛威海职业学院飞奔队李传伟于彭波郭志超王万晨李世雷- 二等奖
节能信标组全国总决赛齐鲁工业大学漩涡银河汪宁孙宝江林宣明郭幼成-- 二等奖
全向行进组全国总决赛华北理工大学妖风、重明颜秀铭龚雨含晁宇龙岑兴武张士腾- 二等奖

如果需要在获奖证书中表明“第一名”等类似的排名信息 ,则需要在每一行的最后一栏增加上名次。

将上述EXCEL表格信息拷贝粘贴带TEASOFT中,修改 allstrid数值,使其与文本ID相一致。

1、程序生成子程序

在程序开始有:studentc三个变量,分别存储证书模板图片,获奖文字,奖项,名次四个DOP的ID号。

(1) 总决赛证书打印程序

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# FINALPRINT.PY                -- by Dr. ZhuoQing 2021-08-26
#
# Note:
#============================================================
from head import *
import cert
import shutil
#------------------------------------------------------------
allstrid = 26
group = '基础四轮'
division = '全国总决赛'
cert.printcount = 110
#------------------------------------------------------------
picdirdef = r'd:\temp\pic'
if not os.path.isdir(picdirdef):
    os.mkdir(picdirdef)
else:
    shutil.rmtree(picdirdef)
    os.mkdir(picdirdef)
#------------------------------------------------------------
allstrsect = [s for s in tspgetdopstring(-allstrid).split('\r\n') if len(s) > 20]
allstr = []
for s in allstrsect:
    if s.count('\t') > 0:
        allstr.append(s.split('\t'))
    else:
        ss = [a for a in s.split() if len(s) > 0]
        allstr.append(ss)
#------------------------------------------------------------
for id,a in enumerate(allstr):
    if a[0] in '赛区 组别'.split() or a[1] in '赛区 组别'.split():
        continue
    a = [s.replace('"', '').replace(' ', '').replace('?', '·') for s in a]
    group = a[0].replace('组', '')
    division = a[1]
    university = a[2]
    team = a[3].replace('_', ' ')
    team = a[3].replace('=', '_')
    mentors = [s for s in a[4:6] if len(s) > 1]
    students = [s for s in a[6:-2] if len(s) > 1]
    if a[-1] in "一等奖 二等奖 三等奖 优胜奖".split():
        students = [s for s in a[6:-1] if len(s) > 1]
        award = a[-1]
        order = '.'
    else:
        award = a[-2]
        order = a[-1]
    printff(id,university, team, mentors, students, award, order)
    cert.printcert(university,
              team,
              group,
              award,
              order,
              students,
              mentors,
              division,
              picdir = r'd:\temp\pic')
    printf('\a')
#    exit()
#------------------------------------------------------------
printf('\a')
#------------------------------------------------------------
#        END OF FILE : FINALPRINT.PY
#============================================================

(2) 证书打印子程序

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CERT.PY                      -- by Dr. ZhuoQing 2021-08-25
#
# Note:
#============================================================
from head import *
#------------------------------------------------------------
studentc = [2, 4, 3, 11, 19]        # template, text, award, order, sn
snhead = '○ NCSC2021-09'
text_width = 40
#------------------------------------------------------------
testid = 16
#------------------------------------------------------------
groupdict = {'基础四轮':'01', '节能信标':'02', '电磁越野':'03',
             '双车接力':'04', '全向行进':'05', '单车拉力':'06',
             '专科基础':'07', '智能视觉':'08', '百度智慧交通':'09',
             '讯飞智慧餐厅':'10', '航天智慧物流':'11',
             '小学':12, '初中':13, '高中':14, 'RT-Thread创新专项赛':15}
awarddict = {'一等奖':1, '二等奖':2, '三等奖':3, '优胜奖':4}
def printjpg(cid, filename):
    tspsaveimagerange(cid, filename,0, 50)
    printff(cid, filename)
#------------------------------------------------------------
def getsnstr(group, award, num):
    printff(group, award, num)
    return '%s-%s-%d%03d'%(snhead, groupdict[group], awarddict[award], num)
#------------------------------------------------------------
def boldheitifont(s):
    rets = ''
    for c in s:
        rets = rets + '\h\*%s\.'%c
    return rets
def boldfont(s):
    rets = ''
    for c in s:
        rets = rets + '\*%s\.'%c
    return rets
def settextwidth(s, width):
    rets = ''
    count = 0
    for c in s:
        if c in '\\ . * h'.split():
            rets = rets + c
            if c == '.':
                if count >= width - 1:
                    count -= (width - 1)
                    rets += '\r\n'
            continue
        if ord(c) < 127: count += 1
        else: count += 2
        rets = rets + c
        if count >= width:
            count -= width
            rets += '\r\n'
    return rets
#------------------------------------------------------------
#------------------------------------------------------------
def setstudenttext(tid, university, student, group, division):
    global text_width
    university = boldheitifont(university)
    student = boldheitifont(student)
    group = boldfont(group)
    setstr = '%s %s 同学在2021年第十六届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, student, division, group)
    setstr = settextwidth(setstr, text_width)
    tspsettext(tid, setstr)
def setmentortext(tid, university, mentor, team, group, division):
    global text_width
    university = boldheitifont(university)
    mentor = boldheitifont(mentor)
    nameflag = 0
    if len(team) > 0:
        if team[-1] == '队':
            nameflag = 1
    team = boldfont(team)
    if nameflag == 0:
        team = team + ' 队'
    else: team = team + ''
    group = boldfont(group)
    setstr = '%s %s 教师指导%s在2021年第十六届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, mentor, team, division, group)
    setstr = settextwidth(setstr, text_width)
    tspsettext(tid, setstr)
def setteamtext(tid, university, team, group, division):
    global text_width
    university = boldheitifont(university)
    nameflag = 0
    if len(team) > 0:
        if team[-1] == '队':
            nameflag = 1
    team = boldfont(team)
    if nameflag == 0:
        team = team + ' 队'
    else: team = team + ''
    group = boldfont(group)
    setstr = '%s %s在2021年第十六届全国大学生智能车竞赛中荣获%s%s组比赛'%(university, team, division, group)
    setstr = settextwidth(setstr, text_width)
    tspsettext(tid, setstr)
def setawardstr(awardstr):
    tspsettext(studentc[2], awardstr)
def setorderstr(orderstr):
    if len(orderstr) > 0:
        orderstr = '(%s)'%orderstr
    else: orderstr = ' '
    printf(orderstr)
    tspsettext(studentc[3], orderstr)
#------------------------------------------------------------
printcount = 0
def printcert(university, team, group, award, order, students, mentors, division = '全国总决赛', picdir=r'd:\temp'):
    global printcount
    printcount += 1
    snstr = getsnstr(group, award, printcount)
    tspsettext(studentc[4], snstr)
    if len(order) < 2: order = ''
    team = team.replace('"', '')
    setawardstr(award)
    setorderstr(order)
    setteamtext(studentc[1], university, team, group, division)
    tsprv()
    outfn = os.path.join(picdir, '%s_%s_%s.jpg'%(university, team, group))
    printjpg(studentc[0], outfn)
    for s in students:
        printcount += 1
        snstr = getsnstr(group, award, printcount)
        tspsettext(studentc[4], snstr)
        setstudenttext(studentc[1], university, s, group, division)
        tsprv()
        outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
        printjpg(studentc[0], outfn)
    for s in mentors:
        printcount += 1
        snstr = getsnstr(group, award, printcount)
        tspsettext(studentc[4], snstr)
        setmentortext(studentc[1], university, s, team, group, division)
        tsprv()
        outfn = '%s\\%s_%s_%s.jpg'%(picdir, university, team, s)
        printjpg(studentc[0], outfn)
#------------------------------------------------------------
if __name__ == "__main__":
#    setstudenttext(testid, '大红枣大学', '银杏', '普通四轮')
#    setmentortext(testid, '大红枣大学', '以色列', '朗朗乾坤倒背如流队', '普通四轮')
#    setteamtext(testid, '大红枣大学', '朗朗乾坤倒背如流队', '普通四轮')
#    setawardstr('一等奖')
#    setorderstr('第一名')
#    tsprv()
    sstr = ['银杏', '红桃']
    mstr = ['金鱼', '银鱼']
    printcert('大红枣大学', '风火轮四轮', '全向行进', '一等奖', '', sstr, mstr, picdir=r'd:\temp')
    printf('\a')
#------------------------------------------------------------
#------------------------------------------------------------
#        END OF FILE : CERT.PY
#============================================================

二、信息核对

1.黑龙江工程学院 电磁越野组 李泽鹏-》李泽朋
2.沈阳工业大学 全向行进组 带队老师:耿浩   成员:刘友成 马金宇 徐卓涵
3.哈尔滨工程大学 智能视觉组 队员正确顺序:王彦斌 张弛 李烨
4.南京信息工程大学 双车接力组 孙吴阳——》孙昊阳
5.安徽工程大学 基础四轮组 出现两次,应删去58行含“顾邵傑”,保留第40行“顾劭傑”
6.中原工学院 智能视觉组 但永平 耿世勇 换位
7.东南大学 智能视觉组 赵佳(而非嘉)恒
8.重庆大学 节能信标组 谭健(而非建)强

▲ 图2.0.1 修改信息

▲ 图2.0.1 修改信息

▲ 图2.0.2 修改信息

▲ 图2.0.2 修改信息

▲ 图2.0.3 修改信息

▲ 图2.0.3 修改信息