结束了,都结束了,我怎么这么傻,不知道要一题一题验证,写这些小东西一半都没交上去,呜呜明年还想再冲一次
前面的题目还是很简单很适合python初学者的,前面有一些题干没有记下来,后面有全题
这些都是自己写的,我本地验是可以运行的,不知道赛方检测咋样,总之我没交上去
1.传参
message='Welcome to the python match!'print(message)
2.外部传参
import sysif __name__ == '__main__':name, number = sys.argv[1:3]print("请确认您的信息!姓名:{0},学号:{1}".format(name,number))
3.平均值
a=99b=80c=76ave = round((a+b+c)/3)print(ave)
4.csv求平均值
呜呜这里我着了魔一样非要服务器装个pandas,浪费好久
import pandas as pdimport osimport csvpath = r"/root/python_data/math.csv"data = pd.read_csv(path)ave = data.mean()ave=int(ave)print(ave)
math.csv:
5.大写转换
tit = "Congratulations on winning the first prize!"print(tit.upper())
6.ASCII码大小写转换
import sysif __name__ == '__main__':str = sys.argv[1:2]str = str[0]for i in str: #遍历字符串中每个字符# 利用ASCII码确定大小写;也可以用:if ord(str[i]) >= 65 and ord(str[i]) <= 90:if i >= "A" and i <= "Z" :# 利用ASCII码转换大小写;ord()获取ASCII码值;chr()通过ASCII码值得到字符;print(chr(ord(i)+32),end="")elif i >= "a" and i <= "z":print(chr(ord(i)-32),end="")else:print(i,end="")
7.十进制转二进制
编写代码,对以上十进制数值“192”,进行二进制转换并打印转换结果;
使用内置函数对其进行转换,保留前缀;
dec = int("192")print(bin(dec))
8.IP地址十进制转二进制
IP地址转换程序 编程进制转换程序代码,要求可以对输入的IP地址进行二进制转换并输出结果,
实例如下:
终端输入:python
/root/python1/ip.py 192.168.12.144
终端输出:11000000101010000000110010010000
使用外部传参sys.argv[]的方式为变量ip进行赋值;
要求IP地址中每组数值转换后长度为8,长度不足部分左侧补0,推荐使用内置函数补齐字符串;
输出结果忽略二进制前缀,连接每组数据,最后输出结果长度为32位; 代码保存地址为:/root/python1/ip.py
import sysdef iTob(ip):list_ip = ip.split('.')bin_ip = []for i in list_ip:# 将十进制转为二进制并去除'0b'标识符temp_ip = bin(int(i)).lstrip('0b')# 不够8位的以0补齐if len(temp_ip) != 8:cont = 8 - len(temp_ip)temp_ip = cont * '0' + temp_ipbin_ip.append(temp_ip)return ''.join(bin_ip)if __name__ == '__main__':ip = sys.argv[1:2]IP = ip[0]print(iTob(IP))
9.计算圆面积
import mathdef findArea(r):return math.pi * (r*r);print(int(findArea(50)));
10.流量计费 计算
已知上网流量1GB=1024MB,19元包月套餐中通用流量为15G,若超出流量按照0.29元/MB计,不足1M的按照1M算,本月流量已超4.25G,求本月总账单定打印结果。
1)结果保留两位小数(单位元忽略)。
2)代码保存地址为:/root/python1/flow.py
import mathflow =math.ceil(4.25*1024)mon = flow*0.29 + 19print("%.2f"%mon)
11.上一题的扩展,流量计费
import mathimport sysdef bill(n):if (n-15)*1024 <=1:return 19.29else:flow = math.ceil((n-15)*1024)flow = int(flow)return flown = sys.argv[1:2]flow = float(n[0])mon = bill(flow)print(mon)
12.数值求方
编写程序满足如下需求:输入一个整数n,计算该整数的12次方,并输出结果。
1)要求调用math模块函数进行次方计算;
2)使用sys.argv方式传递外部参数;
3)结果取整;
4)代码保存地址为:/root/python1/power.py
import mathimport sysn = sys.argv[1:2]n = int(n[0])print(int(math.pow(n,12)))
13.三角函数
没写,不太记得三角函数了,不想写,是一条有两边和夹角,求第三边的题
14.闰年判断
编写程序,输入整数,判断对应整数年份是否为闰年并输出结果,实例如下:
终端输入:python /root/python1/year.py
终端输出:不是闰年
终端输入:python /root/python1/year.py
终端输出:是闰年
闰年判定方法:被4整除,但不能被100整除;或者能被400整除;
使用外部传参的方式将整数传递给变量year;
使用format格式进行字符串格式化输出;
代码保存地址为:/root/python1/year.py
import sysyear = sys.argv[1:2]year = int(year[0])if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):print("{}年是闰年".format(year))else:print("{}年不是闰年".format(year))
15.成绩分级
现有成绩分级,成绩小于60分为不及格,大于80分为优秀,其他为良好,要求根据学生成绩变量score为78分,打印成绩等级。
1)使用变量score进行分数赋值;
2)使用内嵌if判断进行程序编写;
3)成绩等级为“不及格”、“良好”、“优秀”;
4)代码保存地址为:/root/python1/grade.py
score = 78if score<60:print("不及格")elif score>80:print("优秀")else:print("良好")
16.层级分级程序
基于上一题规则,编写成绩分级程序,根据输入的成绩数值,进行自动分级,并打印成绩等级。
实例如下:
终端输入:python /root/python1/autograde.py 111
终端输出:无效分值
1)使用外部传参(sys)的方式将分数传递给变量score;
2)使用内嵌if判断进行程序编写;
3)成绩等级为“不及格”、“良好”、“优秀”;
4)成绩超过100或小于0分时,输出结果为“无效分值”。
5)代码保存地址为:/root/python1/autograde.py。
import sysscore = sys.argv[1:2]score = int(score[0])if (score<0) | (score >100):print("无效分值")sys.exit()if score<60:print("不及格")elif score>80:print("优秀")else:print("良好")
17.奇数求和
编写程序,使用while循环计算0-100所有的奇数之和sum,打印结果;
1)创建变量sum,初始值为0;
2)代码保存地址为:/root/python1/mathsum.py
a=0sum = 0while a<=100:if a%2==0:passelse:sum = sum+aa+=1print(sum)
18.区间求和
编程求和程序,要求根据输入的参数闭间值a,b(闭区间),计算两者之间的所有奇数之和sum。
实例如下:
终端输入:python /root/python1/region.py 7 9
终端输出:16
1)使用外部传参方式(sys)进行区间值输入;
2)传递的第一个参数为a,第二个参数为b,要求判断a小于等于b,否则输出“参数区间错误”,变量和为sum;
3)代码保存地址为:/root/python1/region.py
import sysa, b = sys.argv[1:3]sum = 0a = int(a)b=int(b)if a>b:print("参数区间错误")sys.exit()for i in range(a,b+1):i = int(i)if i%2==0:passelse:sum = sum+iprint(sum)
19.数据拼接
已知两个字符串“qingjiao”,“hongya”,请将字符串各字母按照顺序使用“-”拼接并打印。
使用内置函数join()对其进行连接;
拼接要求:两个字符串按照前后顺序拼接,然后使用“-”将每个字母拼接,如q-i-n…;
代码保存地址为:/root/python1/fontjoin.py;
a="qingjiao"b="hongya"ab="-".join(a+b)print(ab)
20.数据去重
已知数据密码为“aabbccdefhhhd12113355”,当前需要编写程序对密码字符进行去重。
使用for循环进行遍历;
去重内容要求仅保留首次出现的字符,例如:1121,去重后为12;
代码保存地址为:/root/python1/fontremove.py;
str1 = "aabbccdefhhhd12113355"a=""for i in str1:if i not in a:a=a+iprint(a)