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

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

本次为师傅们带来的是“红亚杯”Python编程专题赛——满分解析系列的第②期,是“Python基础编程(1)”篇章哦!

第①期完整赛题的链接在下面,师傅们想看完整赛题的请安心享用:

【阿尼亚喜欢BigData】“红亚杯”Python编程专题赛——满分解析①_爱波吉的阿尼亚的博客-CSDN博客

目录

Python基础编程(1)

变量赋值

信息确认

计算平均成绩

计算班级数学平均成绩

大小写转换

大小写转换程序

进制转换

IP地址转换程序

井盖计算

流量计费


Python基础编程(1)

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

变量赋值

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

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

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

考核条件如下:

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

操作环境: python

message='Welcome to the python match!'
print(type(message))

信息确认

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

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

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

选手须知:

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

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

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

考核条件如下:

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

操作环境: python

import sys

if __name__ == '__main__':
    name, number = sys.argv[1:3]
    print("请确认您的信息!姓名:{0},学号:{1}".format(name,number))

计算平均成绩

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

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

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

考核条件如下:

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

操作环境: python

a=99
b=80
c=76
avg = round((a+b+c)/3)
print(avg)

计算班级数学平均成绩

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

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

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

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

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

考核条件如下:

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

操作环境: python

import csv

with open("/root/python_data/math.csv", 'r', encoding='utf-8-sig') as file:
    reader = csv.reader(file)
    column = [row[0] for row in reader]

sum=0

for s in range(0, len(column)):
    sum = sum + int(column[s])

print(int(sum/len(column)))

大小写转换

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

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

考核条件如下:

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

操作环境: python

title = "Congratulations on winning the first prize!"
print(title.upper())

大小写转换程序

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

终端输入: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. 编写程序,判断程序文件中是否涉及指定数据及知识点,验证程序结果是否正确。

操作环境: python

import sys

if __name__ == '__main__':
    str = sys.argv[1:2]
    str = str[0]
    for i in str:
        if i >= "A"  and i <= "Z" :
            print(chr(ord(i)+32),end="")
        elif i >= "a" and i <= "z":
            print(chr(ord(i)-32),end="")
        else:
            print(i,end="")

进制转换

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

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

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

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

考核条件如下:

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

操作环境: python

dec = int("192")
print(bin(dec))

IP地址转换程序

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

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

终端输出:11000000101010000000110010010000

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

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

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

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

考核条件如下:

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

操作环境: python

import sys

def ip2IP(ip):
    list_ip = ip.split('.')
    bin_ip = []
    for i in list_ip:
        temp_ip = bin(int(i)).lstrip('0b')
        if len(temp_ip) != 8:
            cont = 8 - len(temp_ip)
            temp_ip = cont * '0' + temp_ip
        bin_ip.append(temp_ip)
    return ''.join(bin_ip)

if __name__ == '__main__':
    ip = sys.argv[1:2]
    IP = ip[0]
    print(ip2IP(IP))

井盖计算

现有直径50cm的下水道井盖,使用python运算知识,求其面积并打印结果。

1)其中π直接引用数学库中的pi,pi即为math中的常量;

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

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

考核条件如下:

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

操作环境: python

import math

def well(r):
    return math.pi * (r*r);

print(int(well(50/2)));

流量计费

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

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

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

考核条件如下:

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

操作环境: python

import math

flow =math.ceil(4.25*1024)
mon = flow*0.29 + 19
print("%.2f"%mon)

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱波吉的阿尼亚

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

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

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

打赏作者

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

抵扣说明:

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

余额充值