【阿尼亚喜欢BigData】“红亚杯”Python编程专题赛——满分解析①

大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!!

本次为师傅们带来的是“红亚杯”Python编程专题赛——满分解析系列的第①期,让我们先来看看完整赛题叭!

目录

“红亚杯”Python编程专题赛

Python基础编程(60.00 / 60分)

变量赋值(2.00 / 2分)

信息确认(2.00 / 2分)

计算平均成绩(2.00 / 2分)

计算班级数学平均成绩(2.00 / 2分)

大小写转换(2.00 / 2分)

大小写转换程序(2.00 / 2分)

进制转换(2.00 / 2分)

IP地址转换程序(2.00 / 2分)

井盖计算(2.00 / 2分)

流量计费(2.00 / 2分)

计费程序(2.00 / 2分)

数值求方(2.00 / 2分)

三角形边长计算(2.00 / 2分)

闰年判断(2.00 / 2分)

成绩分级(2.00 / 2分)

层级分级程序(2.00 / 2分)

奇数求和(2.00 / 2分)

区间求和(2.00 / 2分)

数据拼接(2.00 / 2分)

数据去重(2.00 / 2分)

数据截取(2.00 / 2分)

数据替换(2.00 / 2分)

格式化输出(2.00 / 2分)

列表成员判断(2.00 / 2分)

星期输出程序(2.00 / 2分)

判断回文数(2.00 / 2分)

最大公约数(2.00 / 2分)

生肖判断(2.00 / 2分)

字符统计(2.00 / 2分)

中文字符频率统计(2.00 / 2分)

Python综合编程(30.00 / 30分)

九九乘法表(6.00 / 6分)

手机号分类(6.00 / 6分)

人民币大小写切换(6.00 / 6分)

查找关系密切的组合(6.00 / 6分)

根据身份证号计算退休年龄(6.00 / 6分)

Python爬虫程序设计(10.00 / 10分)

Python爬虫程序设计(10.00 / 10分)


“红亚杯”Python编程专题赛

本专题赛主要内容包括: Python编程基础、 Python综合编程、Python爬虫程序设计等模块,以闯关游戏化方式考核学生对Python语言的应用能力。

Python基础编程(60.00 / 60分)

Python编程基础:主要涉及python语言的变量和常量的规则和命名规定、不同进制之间的转换、运算符的优先级顺序、编码与解码、不同数据类型的区别和操作、循环、判断等流程控制语句的原理与使用、内置函数和模块、关键字的使用、类与对象的属性和方法、文件操作,共计30个训练任务;

  • 环境中已安装python3.6.8,可使用python或python3即可查看;

  • 环境中已经安装基础的依赖库,可使用pip list进行查看,也可自行下载;

  • 推荐使用本地环境(选手电脑)上的VsCode ssh-remote插件连接主机;

变量赋值(2.00 / 2分)

参赛选手收到一条信息message,内容为“Welcome to the python match!”,请打印出对应信息的数据类型。

1)定义变量message,将信息传递给它,将其数据类型打印展示。

2)代码保存地址为:/root/python1/var.py

考核条件如下:

1. 查看题目,编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

信息确认(2.00 / 2分)

参赛前,组委会需要对选手进行信息确认,要求学生输入对应姓名和学号,即可得到输出相关信息,实例如下:

终端输入命令:python /root/python1/student.py Mike 20210420

终端输出结果:请确认您的信息!姓名:Mike,学号:20210420

选手须知:

1)使用argv[]为变量name、num进行外部传参;

2)使用format进行格式化输出;

3)代码保存地址为:/root/python1/student.py;

考核条件如下:

1. 查看题目,编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

计算平均成绩(2.00 / 2分)

现有某学生语文、数学、外语三门成绩分别为99、80、76,要求使用变量及运算符知识,将语文成绩赋值给a,将数学成绩赋值给b,将外语成绩赋值给c,计算学生平均成绩并输出;

1)本题中成绩按照整型进行运算,结果按照四舍五入进行取整;

2)代码保存地址为:/root/python1/average.py;

考核条件如下:

1. 查看题目,编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

计算班级数学平均成绩(2.00 / 2分)

根据提供的某班级数学成绩单/root/python_data/math.csv,计算并打印班级平均成绩。

1)数据中只有一个字段为:数学成绩,数据类型为int;

2)使用with open方式读取文件数据;

3)要求输出结果使用int()向下取整;

4)代码保存地址为:/root/python1/score.py

考核条件如下:

1. 查看题目,编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

大小写转换(2.00 / 2分)

学校英语角的标题为“Congratulations on winning the first prize!”,为了强调内容,现在需要将标题更改为全部大写,编写程序使用内置函数将标题进行全部大写转换,运行即可输出结果。

1)代码保存地址为:/root/python1/upswitch.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

大小写转换程序(2.00 / 2分)

编写一个字符串大小写转换程序,对于接收的字符串中各字母,进行大小写互换;对于其它字符则直接输出,不进行转换,实例如下:

终端输入:python /root/python1/switch.py ABcdeF/

终端输出:abCDEf/

1)使用外部传参的方式进行字符串输入;

2)要求使用ASCII码转换字符串大小写,ASCII是基于拉丁字母的一套电脑编码系统,例如a对应ASCII码为97,A对应ASCII码为65;

3)禁止使用lower()、upper()等内置函数;

4)代码保存地址为:/root/python1/switch.py;

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

进制转换(2.00 / 2分)

计算机中IP地址是32位二进制数字组成的数字序列,常用的表示方法是将二进制数字从末尾往前每4个二进制数字作为一个字节转换成10进制数字进行表示,因此平时常见的IP表示为12个阿拉伯数字,每3个数字为一组,组与组之间用英文句点“.”来分隔,例如192.168.12.144。

编写代码,对以上十进制数值“192”,进行二进制转换并打印转换结果;

  1. 使用内置函数对其进行转换,保留前缀;

  2. 代码保存地址为:/root/python1/conversion.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

IP地址转换程序(2.00 / 2分)

编程进制转换程序代码,要求可以对输入的IP地址进行二进制转换并输出结果,实例如下:

终端输入:python /root/python1/ip.py 192.168.12.144

终端输出:11000000101010000000110010010000

  1. 使用外部传参sys.argv[]的方式为变量ip进行赋值;

  2. 要求IP地址中每组数值转换后长度为8,长度不足部分左侧补0,推荐使用内置函数补齐字符串;

  3. 输出结果忽略二进制前缀,连接每组数据,最后输出结果长度为32位;

  4. 代码保存地址为:/root/python1/ip.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

井盖计算(2.00 / 2分)

现有直径50cm的下水道井盖,使用python运算知识,求其面积并打印结果。 1)其中π直接引用数学库中的pi,pi即为math中的常量;

2)输出结果中不包含单位,结果为整型;

3)代码保存地址为:/root/python1/well.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

流量计费(2.00 / 2分)

已知上网流量1GB=1024MB,19元包月套餐中通用流量为15G,若超出流量按照0.29元/MB计,不足1M的按照1M算,本月流量已超4.25G,求本月总账单定打印结果。

1)结果保留两位小数(单位元忽略)。

2)代码保存地址为:/root/python1/flow.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

计费程序(2.00 / 2分)

根据上题中的流量计费标准,编写函数,要求输入对应流量数值,即可得到对应账单,并输出账单结果。

1)定义一个函数bill()进行费用计算,参数为n;

2)使用外部传参方式对n(单位GB)进行赋值,数值类型为float;

3)使用内置函数对账单结果进行向下取整,注意流量不足1M的按照1M计算(向上取整);

4)代码保存地址为:/root/python1/bill.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

数值求方(2.00 / 2分)

编写程序满足如下需求:输入一个整数n,计算该整数的12次方,并输出结果。

1)要求调用math模块函数进行次方计算;

2)使用sys.argv方式传递外部参数;

3)结果取整;

3)代码保存地址为:/root/python1/power.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

三角形边长计算(2.00 / 2分)

已知三角形的两边长a,b为5和6,两边夹角C为30度,编写程序计算第三边长并输出。

1)要求调用python内置函数进行平方根计算;

2)三角形边角关系为: a2 = b2 + c2 - 2bc * cosA ;

3)Python中cos(x)函数中x是一个数值,返回的是x的弧度的余弦值;

4)弧度与角度关系为:弧度 = 角度PI/180;角度 = 弧度180/PI;

  1. 使用format格式进行字符串格式化输出,保留两位有效小数;

6)代码保存地址为:/root/python1/trangle.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

闰年判断(2.00 / 2分)

编写程序,输入整数,判断对应整数年份是否为闰年并输出结果,实例如下:

终端输入:python /root/python1/year.py 2021

终端输出:2021年不是闰年

终端输入:python /root/python1/year.py 2020

终端输出:2020年是闰年

  1. 闰年判定方法:被4整除,但不能被100整除;或者能被400整除;

  2. 使用外部传参的方式将整数传递给变量year;

  3. 使用format格式进行字符串格式化输出;

  4. 代码保存地址为:/root/python1/year.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

成绩分级(2.00 / 2分)

现有成绩分级,成绩小于60分为不及格,大于80分为优秀,其他为良好,要求根据学生成绩变量score为78分,打印成绩等级。

1)使用变量score进行分数赋值;

2)使用内嵌if判断进行程序编写;

3)成绩等级为“不及格”、“良好”、“优秀”;

4)代码保存地址为:/root/python1/grade.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

层级分级程序(2.00 / 2分)

基于上一题规则,编写成绩分级程序,根据输入的成绩数值,进行自动分级,并打印成绩等级。实例如下:

终端输入:python /root/python1/autograde.py 111

终端输出:无效分值

1)使用外部传参(sys)的方式将分数传递给变量score;

2)使用内嵌if判断进行程序编写;

3)成绩等级为“不及格”、“良好”、“优秀”;

4)成绩超过100或小于0分时,输出结果为“无效分值”。

5)代码保存地址为:/root/python1/autograde.py。

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

奇数求和(2.00 / 2分)

编写程序,使用while循环计算0-100所有的奇数之和sum,打印结果;

1)创建变量sum,初始值为0;

2)代码保存地址为:/root/python1/mathsum.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

区间求和(2.00 / 2分)

编程求和程序,要求根据输入的参数闭间值a,b(闭区间),计算两者之间的所有奇数之和sum。实例如下:

终端输入:python /root/python1/region.py 7 9

终端输出:16

1)使用外部传参方式(sys)进行区间值输入;

2)传递的第一个参数为a,第二个参数为b,要求判断a小于等于b,否则输出“参数区间错误”,变量和为sum;

3)代码保存地址为:/root/python1/region.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

数据拼接(2.00 / 2分)

已知两个字符串“qingjiao”,“hongya”,请将字符串各字母按照顺序使用“-”拼接并打印。

  1. 使用内置函数join()对其进行连接;

  2. 拼接要求:两个字符串按照前后顺序拼接,然后使用“-”将每个字母拼接,如q-i-n.....;

  3. 代码保存地址为:/root/python1/fontjoin.py;

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

数据去重(2.00 / 2分)

已知数据密码为“aabbccdefhhhd12113355”,当前需要编写程序对密码字符进行去重。

  1. 使用for循环进行遍历;

  2. 去重内容要求仅保留首次出现的字符,例如:1121,去重后为12;

  3. 代码保存地址为:/root/python1/fontremove.py;

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

数据截取(2.00 / 2分)

已知字符串“Welcome to the python match!”,使用切片方式获取其17至25的字符元素并打印结果。

  1. 要求通过索引获取字符串中字符;

  2. 代码保存地址为:/root/python1/fontindex.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

数据替换(2.00 / 2分)

已知字符串s具体内容为“hello world,hello China,hello hongyaa”,要求移除空格、逗号,将字符串'hello'替换为'HELLO',编写程序进行结果打印。

  1. 使用内置函数方式进行字符串替换;

  2. 代码保存地址为:/root/python1/fontreplace.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

格式化输出(2.00 / 2分)

现有数字π,使用占位符%对其进行格式化输出,要求输出格式为浮点型,结果保留5位小数。

  1. 使用内置函数方式进行π赋值;

  2. 代码保存地址为:/root/python1/piformat.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

列表成员判断(2.00 / 2分)

列表成员判断,现有一个列表[3,1,4,5.5,9,2,6],输入一个数字,判断数字是否存在于列表中,实例如下:

终端输入:python /root/python1/listjudge.py 2

终端输出:True

  1. 使用外部传参方式(sys)进行数值传入;

  2. 定义num()函数用于判定数字是否存在与列表中(即和列表中数值相同);

  3. 运行程序,若数字存在与列表中,输出True,否则输出False;

  4. 代码保存地址为:/root/python1/listjudge.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

星期输出程序(2.00 / 2分)

编写程序计入一个表示星期几的数字(1-7),输出对应的星期字符串名称。例如:输入7,输出“星期日”。

1)使用外部传参方式(sys)进行数值传入;

2)定义week()函数用于数字与星期的换算和输出;

3)使用format进行格式化输出;

4)数字范围为1-7,超出范围输出信息:“请输入数字1-7!”

5)代码保存地址为:/root/python1/week.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

判断回文数(2.00 / 2分)

要求传入一个任意数值n,编写程序判断这个数字n是不是回文数。26 实例如下:

输入:python /root/python1/palin.py 123

输出:123不是回文数

输入:python /root/python1/palin.py 121

输出:121是回文数

说明:设i是一任意自然数,如果i的各位数字反向排列所得自然数与i相等,则i被称为回文数。

1)使用外部传参方式将数值传给变量n;

2)使用format方式进行格式化输出;

3)推荐使用倒叙方式进行程序编写;

4)代码保存地址为:/root/python1/palin.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

最大公约数(2.00 / 2分)

最大公约数计算,最大公约数计算,要求传入两个整数a,b,编写程序计算两个整数的最大公约数,并输出展示。

备注:若n是一个能被若干个整数同时均整除的整数,则n同时是这几个整数的约数,称这个整数为它们的“公约数”;公约数中最大的称为最大公约数。

终端输入:python divisor.py 2 3

终端输出:最大公约数为1

1)定义divi()函数用于计算最大公约数;

2)使用外部传参方式(sys)将数值传给变量a,b;

3)使用for循环从1开始,记录下可以同时被两个变量整除的数,最大的数就是最大公约数;

4)为了优化参数,推荐循环到两个变量中的值小的变量即可;

5)代码保存地址为:/root/python1/divisor.py;

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

生肖判断(2.00 / 2分)

判断年份生肖,要求输入一个整数n,编写程序判断数字对应相应的生肖并输出结果。实例如下:

输入:python /root/python1/zodiac.py 2021

输出:丑牛

1)十二生肖为:子鼠 ,丑牛,寅虎 ,卯兔 ,辰龙 ,巳蛇 ,午马 ,未羊,申猴 ,酉鸡,戌狗 ,亥猪;

2)生肖为12年一循环;

3)要求计算公元元年以后的年份(n>0),公元前年份不计在内,不满足年份条件则输出提示信息:“请输入公元后年份!”;

4)使用外部传参方式(sys)将数值传给变量n;

5)定义year()函数计算年份生肖;

6)代码保存地址为:/root/python1/zodiac.py;

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

字符统计(2.00 / 2分)

统计字符个数,统计字符个数,根据提供的文件/root/python_data/this.txt,编写程序统计英文字母、空格、数字的个数,将结果打印;

1)读取文件(使用绝对路径),使用python字符串内建函数对文件内所有内容进行统计;

2)统计内容为:字母(letters)、数字(digit)、空格(space)、其他(other);

3)运行程序,终端输出为:字母数量为?,空格数量为?,数字数量为?,其他数量为?(其中逗号为英文字符)

4)代码保存地址为:/root/python1/word.py;

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(2.00 / 2分)

操作环境: python

中文字符频率统计(2.00 / 2分)

中文字符频率统计,编写一个程序,对给定的诗词文件中出现的全部字符(含中文字符)频率进行统计,按照降序输出;

  1. 要求程序中对全部文字word进行个数统计count,按照(word count)方式进行输出;

  2. 使用format进行格式化输出,输出格式都为左对齐,占3个位置(word count的最小宽度都为3);

  3. 调用函数打开文本文件,使用File write()方法写入结果;

  4. 诗词文件位置为:/root/python_data/poetry.txt;

  5. 频率统计结果保存至/root/python_data/wordcount.txt中;

  6. 代码保存地址:/root/python1/wordcount.py

    备注:要求在代码中实现全部读取文件、遍历排序、结果写入文件等过程;

    提示:可以在格式输出时,直接使用write()方法,文件都是用绝对路径。

    结果展示:

        字符  个数
        落  3  
        潮  2 

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证统计结果是否正确。(2.00 / 2分)

操作环境: python

Python综合编程(30.00 / 30分)

Python综合编程:主要是涉及Python综合应用能力,通过训练可以使学生根据实际工作中的问题,通过编程方式完成工作任务,共计5项综合任务。

  • 环境中已安装python3.6.8,可使用python或python3即可查看;

  • 环境中已经安装基础的依赖库,可使用pip list进行查看,也可自行下载;

  • 推荐使用本地环境(选手电脑)上的VsCode ssh-remote插件连接主机;

九九乘法表(6.00 / 6分)

学习编程,循环是必备能力之一,本题需要使用while循环结构编写程序打印九九乘法表(正三角),请你按程序文件的注释,将Python代码补充完整。要求如下:

  1. 代码保存地址为:/root/python2/form.py,补全代码;

  2. 使用占位符%对十进制整数进行结果格式化输出,要求整型占位符宽度为2,默认右对齐方式输出,使用end关键字在每个计算结尾处添加空格;

  3. 满足循环条件,则执行程序,更新变量循环参数,否则结束循环;

请你按程序文件的注释,将Python代码补充完整,运行程序,输出的结果。输出的结果形式如下:

1*1= 1    
1*2= 2 2*2= 4    
1*3= 3 2*3= 6 3*3= 9    
1*4= 4 2*4= 8 3*4=12 4*4=16  
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25    
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36    
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49    
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64    
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81   

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(6.00 / 6分)

操作环境: python

手机号分类(6.00 / 6分)

项目背景:

某学校要统计所有学生手机号为哪些运营商的情况,手工统计非常耗时。请你按程序文件的注释,将Python代码补充完整,使用程序完成统计任务,运行程序并输出结果。

选手须知:

1.了解三大运营商的号段分布;

a)中国联通:130,131,132,155,156,185,186,145,176

b)中国移动:134, 135 , 136, 137, 138, 139, 147, 150, 151,152, 157, 158, 159, 178, 182, 183, 184, 187, 188

c)中国电信:133,153,189

2.判断手机号是否合法,依次按照长度(11位)、字符(只包含数字)、号段进行判断归类,若一个手机号长度和字符都不合法,按照顺序,需要将其划分到长度不合法里面;

3.判断手机号是否重复;

4.根据给定的学生信息进行手机号数据文件导入;

5.运行后输出格式为:移动数量为?个,联通数量为?个,电信数量为?个,长度不合法数量为?个,号段不合法数量为?个,字符不合法为?个。(英文字符)

6.代码保存地址为:/root/python2/phone.py,要求使用元素索引判定phone_prefix中号段是否合法;

7.数据文件地址为:/root/python_data/phone.txt

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(6.00 / 6分)

操作环境: python

人民币大小写切换(6.00 / 6分)

项目背景:

工作中常常需要报销差旅费等其他费用,但是由于报销单需要进行大小写规范,因此很多人进行大写数字书写时,常常需要进行资料查找。这里需要选手设计一个万位以内的数值大写转换(例如9999.99,最高为千位,最多两位小数),请你编写程序文件cnyswitch.py,运行程序,输入小写数值,返回对应的大写数字。实例如下:

终端输入:python /root/python2/cnyswitch.py 1234.56

终端输出:壹仟贰佰叁拾肆圆伍角陆分

选手须知:

1.重点考核选手根据要求,自定义代码规则,创建函数满足对应功能;

2.中文金额数字大写分别为“壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、圆、角、分、零、整”。

3.按照数位顺序表,万以内数值转换,最高位为千位,数值最多包含两位小数(角、分)。

4.代码保存地址:/root/python2/cnyswitch.py

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(6.00 / 6分)

操作环境: python

查找关系密切的组合(6.00 / 6分)

项目背景:

作为一个电影爱好者,常常会对电影相关信息进行分析,我们会发现很多演员会在不同的电影里进行合作,如果想要找出合作最为亲密的两个演员,手工查找分析是非常慢的,请你按程序文件的注释,将Python代码补充完整,从/root/python_data/film.xlsx中找出合作密切的两位演员,并用程序输出结果;

选手须知:

要了解频繁项集:经常一起出现的物品的集合。如果某个项集是频繁的,那么它的所有子集都是频繁的;如果某个项集不是频繁的,那么它的所有超集都不是频繁的。这一点是避免项集数量过多的重要基础,使得快速计算频繁项集成为可能。

1)代码文件地址为:/root/python2/film.py

2)数据文件地址为:/root/python_data/film.xlsx(注意文件是否正确,xlsx文件借助vscode上Excel Viewer进行查看,选中文件右键’open preview‘即可)

3)运行代码,结果输出实例如下:

终端输入: python /root/python2/film.py

终端输出:关系最好的2个演员是演员a,演员b,他们共同出演的电影数量是c.(其中标点符号使用英文)

备注:其中a,b,c为计算后的真实内容,这里仅做结果样式介绍。

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(6.00 / 6分)

操作环境: python

根据身份证号计算退休年龄(6.00 / 6分)

题目背景:

已知当前法定退休年龄为男性60周岁,女性55周岁,现要求根据某公司员工身份证信息进行年龄和退休时间统计,请你按程序文件的注释,将Python代码补充完整,实现年龄和退体时间的计算,运行代码,保存运行结果。结果中单条数据实例如下(字段为:姓名,身份证号,当前年龄,退休日期):

赵峰平 571115196702015183 54 2022-02-01

选手须知:

  1. 注意数据文件的读取。

  2. 日期时间对象和字符串之间的相互转换。

  3. 获取当前时间可以使用datetime.now()

  4. 字符串格式化与排版。

  5. 员工信息数据/root/python_data/staff.csv,数据字段为姓名、身份证号;

  6. 身份证号码是18位数,其中第7-10位是出生年份,第11-12位是出生月份,第13-14位是出生日,第17位是性别判断,奇数为男,偶数为女。

  7. 代码保存地址:/root/python2/retire.py

  8. 结果保存地址:/root/python_data/staffretire.txt,字段为姓名,身份证号,当前年龄,退休日期;

考核条件如下:

1. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。(6.00 / 6分)

操作环境: python

Python爬虫程序设计(10.00 / 10分)

Python爬虫程序设计:主要涉及对于信息获取能力,通过对网页基本结构的了解,查看网页源码,对有价值信息进行查找和确认,借助常用的requests、bs4、scrapy等解析方式数据按照规定的格式存储至本地,共爬虫程序1套。

  • 环境中已安装python3.6.8,可使用python或python3即可查看;

  • 环境中已经安装基础的依赖库,可使用pip list进行查看,也可自行下载;

  • 推荐使用本地环境(选手电脑)上的VsCode ssh-remote插件连接主机;

Python爬虫程序设计(10.00 / 10分)

小王接到公司领导一个任务,要求小王把某论坛内所有的帖子,用户名,积分,等级,标题等内容全部复制下来,为数据分析部门做好数据支撑,如果手工复制将是一个巨大的工作量,请你帮用python语言,帮小王编写一个自动的数据爬取程序,将相关内容自动采集并保存。

要求代码书写规范,每行代码均有注释说明,采集的结果正确;

1)查看对应论坛,浏览器访问比赛页面-左侧虚拟机信息-虚拟机discuz对应IP地址,python环境中提供了爬虫相应库,使用pip list进行查看。

2)字段要求如下:

帖子ID,用户名,用户积分,会员等级,帖子标题,帖子内容

tid,author,score,grade,title,content

3)数据示例:1,cs4bxCo,66,注册会员,什么发帖软件最好?,我觉得是帖帖不休~

4)代码保存地址为:/root/python3/discuz.py;

5)爬取的数据存放至/root/python3/data.csv;

注意:

  1. 本题目主要检测爬取文件和结果是否保存至指定文件,检测部分数据和随机数据,否则自动视为本题放弃。

  2. 要求使用内网IP进行数据爬取,对应网站,无需连接登录,可直接浏览器访问起外网IP即可直接跳转。

考核条件如下:

1. 验证代码文件/root/python3/discuz.py及部分代码是否存在(1.00 / 1分)

操作环境: python

2. 验证数据文件/root/python3/data.csv是否存在(1.00 / 1分)

操作环境: python

3. 验证数据是否正确(4.00 / 4分)

操作环境: python

4. 验证文件中随机数据(4.00 / 4分)

操作环境: python

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱波吉的阿尼亚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值