PTA Python实验5 组合数据类型

目录


7-1 输入月份数字,输出对应月份名称缩写

作者 python备课组

单位 福州大学至诚学院

输入一个月份数字,输出对应月份名称缩写(英文前三个字母,首字母大写),如果输入的月份非法,输出“error”。
这个字符串可能在你的程序中会用到
“JanFebMarAprMayJunJulAugSepOctNovDec”

输入格式:

输入一个月份数字。

输出格式:

输出对应月份名称缩写(英文前三个字母,首字母大写),如果输入的月份非法,输出“error”。

输入样例:

5

输出样例:

May
mounths = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]
x=int(input())
if 1<=x<=12:
    mounth=mounths[x-1]
    print(mounth)
else:
    print("error")

7-2 比赛评分-元组

作者 python备课组

单位 福州大学至诚学院

编写程序,为新生歌手赛统计评委分数,实现以下功能:在一行内输入多个评委分数,以逗号间隔,去掉一个最高分、一个最低分后,剩下评分的平均值为最后得分,保留1位小数。

输入格式及样例:

在同一行输入多个评委分数,以逗号间隔。

88,89,90,91,86

输出格式及样例:

直接输出最后得分,保留1位小数。

89.0
points=tuple(map(float,input().split(',')))
avage = (sum(points)-max(points)-min(points))/(len(points)-2)
print("%.1f"%(avage))

7-3 分析活动投票情况

作者 陈春晖

单位 浙江大学

利用集合分析活动投票情况。第一小队有五名队员,序号是1,2,3,4,5;第二小队也有五名队员,序号6,7,8,9,10。输入一个得票字符串,求第二小队没有得票的队员

输入格式:

在一行中输入得票的队员的序列号,用逗号隔开。

输出格式:

一行中输出第二小队没有得票的队员序号。

输入样例:

在这里给出一组输入。例如:

1,5,9,3,9,1,1,7,5,7,7,3,3,1,5,7,4,4,5,4,9,5,10,9 

输出样例:

在这里给出相应的输出。例如:

6 8
a = eval(input())
a = tuple(a)
s=[]
for i in range(6,11):
    if i not in a:
        s.append(i)
        continue
for x in s[:-1]:
    print(x,end = " ")
print(s[-1])

7-4 计算绩点

作者 殷伟凤

单位 浙江传媒学院

学分绩点计算办法:
1、按成绩折算课程绩点:
90分 – 100分 折合4.0 – 5.0绩点,即90分折合4.0,91分折合4.1,依次类推
80分 – 89分 折合3.0 – 3.9绩点,即80分折合3.0,81分折合3.1,依次类推
70分 – 79分 折合2.0 – 2.9绩点,即70分折合2.0,71分折合2.1,依次类推
60分 – 69分 折合1.0 – 1.9绩点,即60分折合1.0,61分折合1.1,依次类推
不足60分的绩点为0

2、计算公式:
课程学分绩点 = 课程绩点 × 课程学分
平均学分绩点 = 课程学分绩点总和 ÷ 课程学分总和

输入学生各门课程的成绩和学分,编程实现学分绩点计算,输出每门课程的绩点,学分和课程学分绩点,并输出平均学分绩点

输入格式:

每一行输入课程的成绩和学分,以#结束

输出格式:

每一行输出课程绩点,学分,课程学分绩点(保留两位小数),每一项占8个字符的宽度
最后一行输出平均学分绩点(保留两位小数)

输入样例:

在这里给出一组输入。例如:

95 2
87 3
83 2
78 3
66 4
56 2
93 1
#

输出样例:

在这里给出相应的输出。例如:

课程绩点   学分   课程学分绩点
4.5      2        9.00    
3.7      3        11.10   
3.3      2        6.60    
2.8      3        8.40    
1.6      4        6.40    
0        2        0.00    
4.3      1        4.30    
平均学分绩点 = 2.69
xf = []
while 1:
    x = input()
    if x == '#':
        break
    score,point = map(eval,x.split())
    xf.append((score,point))
a = 0
b = 0
print("课程绩点   学分   课程学分绩点")
for i in xf:
    score = i[0]
    point = i[-1]
    if score<60:
        gpa1 = 0
    else:
        gpa1 = (score-60)/10+1
    a+=gpa1*point
    b+=point
    print("{:<8} {:<8} {:<8.2f}".format(gpa1,point,gpa1*point))
print("平均学分绩点 = {:.2f}".format(a/b))

7-5 计算每个学生的平均成绩

作者 殷伟凤

单位 浙江传媒学院

输入所有学生的姓名和成绩,以#结束。输出每个学生的平均成绩表。

输入格式:

每一行输入一个学生的姓名和成绩,以空格分隔。
输入完成后以#结束

输出格式:

每行显示一个学生的姓名和平均成绩,姓名占8位宽度,平均成绩保留两位小数点。姓名和平均成绩之间用空格隔开。

输入样例1:

在这里给出一组输入。例如:

Maria 20
David 10
Bob 15
David 20
#

输出样例1:

在这里给出相应的输出。例如:

姓 名     平均成绩
Maria    20.00
David    15.00
Bob      15.00

输入样例2:

在这里给出一组输入。例如:

韩思	80
杨世忆	70
徐晓畅	100
黄嘉	95
刘天宇	60
叶鸿	80
韩思	85
杨世忆	65
徐晓畅	100
黄嘉	90
刘天宇	80
刘天宇	90
徐晓畅	100
徐晓畅	100
徐晓畅	100
#

输出样例2:

在这里给出相应的输出。例如:

姓 名     平均成绩
韩思       82.50
杨世忆      67.50
徐晓畅      100.00
黄嘉       92.50
刘天宇      76.67
叶鸿       80.00
s = {}
x = {}
while 1:
    a = input()
    if a == '#':
        break
    name,point = a.split()
    if name in s:
        s[name] += eval(point)
        x[name] += 1
    else:
        s[name] = eval(point)
        x[name] = 1
print("姓 名     平均成绩")
for name in s:
    print("{:<8} {:.2f}".format(name,s[name]/x[name]))

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年11月22日
下一篇 2023年11月22日

相关推荐