已知某学校高一语文期末考试分数和等级的对应关系 :
实考分数
90-100 (含)、89-80 (含)、79-70 (含)、69-60 (含)、60以下分别对应等级A、B、D、E。
小王要对输入的某些同学的实考分数,根据上面的对应关系,输出对应等级。
输入
5
钱二 95
张三 85
李四 74
孙五 63
赵六 32
注:输入数据包括n+1行(n<=30)第-行中的数n表示接下来会输入n个同学的数据每一行包括同学名字和实考分数,中间以空格分隔
输出
钱二 A
张三 B
李四 C
王五 D
赵六 E
注:输出的n行数据中的每-行包括两部分信息,第-部分为同学名字,第二部分为对应等级,中间以空格分隔
方法一:使用字典
a={} #创建 n=int(input()) #输入学生人数 for i in range(n): #输入学生姓名和成绩 c,d=input().split() if 100>=int(d)>=90: e='A' elif 89>=int(d)>=80: e='B' elif 79>=int(d)>=70: e='C' elif 69>=int(d)>=60: e='D' else: e='E' a[c]=e #把学生姓名和成绩等级以键值对的形式写入字典a for key,value in a.items():#输出字典中的数据 print(key,value)
运行结果:
>>>
================ RESTART: C:/Users/Administrator/Desktop/cj1.py ================
5
赵一 100
钱二 85
孙三 75
李四 65
周五 55
赵一 A
钱二 B
孙三 C
李四 D
周五 E
>>>
方法二:列表方法
name=[] grades=[] n=int(input()) for i in range(n): a,b=input().split() name.append(a) c=eval(b) if 100>=c>=90: g='A' elif 89>=c>=80: g='B' elif 79>=c>=70: g='C' elif 69>=c>=60: g='D' else: g='E' grades.append(g) for i in range(n): print(name[i],grades[i])
运行结果:
>>> ================ RESTART: C:/Users/Administrator/Desktop/cj2.py ================ 5 赵一 100 钱二 85 孙三 75 李四 65 周五 55 赵一 A 钱二 B 孙三 C 李四 D 周五 E >>>