简单应用题

fo = open("PY202.txt","w")
data = input("请输入课程名及对应的成绩:")  # 课程名 考分
...  
while data:
    ...
    data = input("请输入课程名及对应的成绩:")
...
fo.write("最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}".format(______))
fo.close()

 题目如上图所示,给的初始代码是这样的,输入课程名称及考分信息后注意这里是使用空格进行分割,所以这里我们要根据输入的空格进行分割,使用字典来完成这个题的解答

1.首先定义一个空的字典来进行存储键值和键名,然后输入的数据开始进行循环

2.将输入的数据以空格为分割符号进行切割,将切割后的值分别以键值和键名储存起来

3.数据输入完成后开始进行分析,字典内的值已经添加完毕

4.开始对字典内的数据进行转化,使用lambda函数进行排序

5.排序完后此时的排序是按照从高到低的顺序进行排列,根据文章需要的最高分和最低分开始进行选择

6.计算平均值的话,对所有的键值进行相加求和再除以总的科目数,经过split函数划分之后为字符串形式,计算总的分数进行相加的时候要转化为整数再进行相加

fo = open("PY202.txt","w")
data = input("请输入课程名及对应的成绩:")  # 课程名 考分
d = {}
while data:
    tem = data.split()
    d[tem[0]]= tem[1]
    data = input("请输入课程名及对应的成绩:")
ls = list(d.items())
ls.sort(key = lambda x :x[1],reverse = True)
zong = 0
for i in d.values():
    zong = zong + int(i)
average = zong/ len(ls)   
fo.write("最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}".format(______))
fo.close()

 此时同样有一个相似的题目,其中解题思路大致相同,给的初始代码是这样的

txt = input("请输入类型序列:")
tem = txt.split()
d = {}
for i in range(len(tem)):
    d[tem[i]] = d.get(tem[i],0) + 1
ls = list(d.items())
ls.sort(key = lambda x:x[1],reversr= True)

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值