2301_76997034 2023-05-16 16:58 采纳率: 75%
浏览 40
已结题

用户输入考号、姓名、成绩,输出相应结果

用户输入考号、姓名和成绩,需用逗号隔开。按照降序输出考号、姓名和平均成绩。
比如请输入考号姓名成绩:203,张三,90
请输入考号姓名成绩:201,李四,60
请输入考号姓名成绩:203,张三,80
请输入考号姓名成绩:201,李四,70
请输入考号姓名成绩:
输出:203 张三 85
201 李四 65
python编程

  • 写回答

2条回答 默认 最新

  • 喝茶品人生 2023-05-16 17:25
    关注

    另一种办法使用pandas,按照考号计算平均成绩输出显示:

    
    import pandas as pd
    
    data = []
    while True:
        input_str = input("请输入考号姓名成绩:")
        if input_str == "":
            break
        input_list = input_str.split(",")
        if len(input_list) != 3:
            print("输入格式有误,请重新输入!")
            continue
        try:
            score = int(input_list[2])
        except ValueError:
            print("输入的成绩不是数字,请重新输入!")
            continue
        id, name = input_list[:2]
        data.append([id, name, score])
    
    df = pd.DataFrame(data, columns=['考号', '姓名', '成绩'])
    df['平均成绩'] = df.groupby('考号')['成绩'].transform('mean')
    df = df.sort_values(by=['平均成绩'], ascending=False)
    print(df[['考号', '姓名', '平均成绩']])
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月24日
  • 已采纳回答 5月16日
  • 创建了问题 5月16日

悬赏问题

  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的
  • ¥15 我看了您的文章,遇到了个问题。