200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 红亚杯-Python编程线上挑战赛前20题(含自己的代码)

红亚杯-Python编程线上挑战赛前20题(含自己的代码)

时间:2018-11-13 03:18:05

相关推荐

红亚杯-Python编程线上挑战赛前20题(含自己的代码)

结束了,都结束了,我怎么这么傻,不知道要一题一题验证,写这些小东西一半都没交上去,呜呜明年还想再冲一次

前面的题目还是很简单很适合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)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。