2、用户从键盘上输入10位学生的姓名和分数,请采用字典,程序最终输出平均分。(用Python解决)

python输出全班10名同学的姓名和成绩,输出高于全班平均分的同学的姓名和成绩(字典完成)

如果您觉得我的答案对您有帮助,请点赞并采纳我的回答,谢谢


# 初始化一个空的字典,用于存储学生姓名和分数
student_scores = {}

# 循环读取键盘输入的学生姓名和分数,并存储到字典中
for i in range(10):
    name = input("请输入第{}位学生的姓名:".format(i + 1))
    score = float(input("请输入第{}位学生的分数:".format(i + 1)))
    student_scores[name] = score

# 计算平均分
total_score = sum(student_scores.values())
average_score = total_score / len(student_scores)

# 输出全班学生的姓名和成绩
print("全班学生的姓名和成绩:")
for name, score in student_scores.items():
    print("{}:{}".format(name, score))

# 输出高于平均分的学生姓名和成绩
print("高于平均分的学生姓名和成绩:")
for name, score in student_scores.items():
    if score > average_score:
        print("{}:{}".format(name, score))

# 输出平均分
print("全班学生的平均分:{}".format(average_score))

在程序中,我们使用了一个字典student_scores来存储学生的姓名和分数。通过一个循环,用户可以从键盘输入10位学生的姓名和分数,并将其存储到字典中。然后,我们计算字典中所有分数的总和,除以学生人数,得到平均分。接着,我们使用循环遍历字典,输出全班学生的姓名和成绩,并判断是否高于平均分,并输出高于平均分的学生姓名和成绩。最后,输出全班学生的平均分。

students = {}
for i in range(10):
    name = input("第{}位学生姓名:".format(i+1))
    score = int(input("第{}位学生分数:".format(i+1)))
    students[name] = score
total_score = sum(students.values())
average_score = total_score / len(students)
print("平均分:{:.2f}".format(average_score))

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7660763
  • 这篇博客也不错, 你可以看下【邢不行|量化小讲堂系列10-Python量化入门】量化投资中如何处理复权、除权问题
  • 除此之外, 这篇博客: 只需五步!哈佛学霸教你用Python分析相亲网站数据,在两万异性中找到真爱中的 第二步:借助Python,求助好友,疯狂收集数据 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    Chris McKinlay利用Python脚本浏览了上百道OkCupid的问卷题目,然后把女性用户分为七类,每一类都会贴上独特的标签,例如“多才多艺的”和“细心体贴的”等等。

    即便作为一个数学家,McKinlay也是个不同寻常的人。他小时候在波士顿郊区长大,2001年他从Middlebury学院毕业并获得汉语言学位。同年8月份,他在纽约世贸中心北塔91层的一家公司里找了一份兼职工作,工作内容是将中文翻译成英文。五周后的一天,世贸大厦倒塌了。(那天,下午两点前McKinlay都没来公司。当第一架飞机于早上8点46分撞上大厦的时候,他正在睡觉。)

    “自从那件事后,我问自己,我究竟想做什么”他说。他的一个在哥伦比亚大学的朋友招聘他进入了一个由麻省理工职业21点团队衍生出的一个团队,这之后的几年里,他便往返于纽约和拉斯维加斯,他的工作是数牌,一年能挣六万美金。

    这段经历点燃了他对应用数学的兴趣,最终促使他在这个领域取得了硕士和博士学位。“他们能够在很多不同的情景下使用数学知识,”他说,“他们会见到一些新的游戏,比如‘三张牌的牌九扑克’,然后回家写点代码,接着就能找到策略去打败它。”

    现在,他想用同样的方式去寻找爱情。首先,他需要数据。就在他用旁边的窗口进行论文写作的时候,他建了12个假的OkCupid账户并写好了Python脚本去管理这些账户。这个脚本会搜索他的目标群体(25到45岁的异性恋或双性恋的女人),访问她们的主页,然后爬取她们账户上每一条有用的信息:种族、身高、是否吸烟、星座—— “这些我全都要”他说。

    为了找到心仪的另一半,他还做了一些额外调查。OkCupid可以让用户看到其他人的回答,但只能看到那些他们自己已经回答过的问题。 于是McKinlay设置了自己的机器人程序,以简单地随机回答每个问题,他并没有使用虚拟的个人资料吸引任何女性,因此答案并不重要,主要他要将这些女性的答案收集到了数据库中。

    McKinlay满意地看着他程序一路狂奔。 然后,在收集了大约一千个档案后,他遇到了第一个障碍。OkCupid有一个短平快的系统来防止这种数据收集,他的程序一个接一个地被禁。

    因此他必须把自己的程序训练的更像真人一些。

    他求助他的神经科学家朋友Sam Torrisi,最近刚教过McKinlay音乐理论以换取高级数学课程。Torrisi也注册了OkCupid,他同意在他的计算机上安装间谍软件来监控该网站的使用。根据手中的数据,McKinlay通过编程模拟Torrisi的点击率和打字速度。他从家里带来了第二台电脑并将其插入数学系的宽带线路,以便可以24小时不间断运行。

    三周后,他已经收集了来自全国各地20000名女性的600万个问题和答案。

  • 您还可以看一下 王宇韬老师的Python零基础快速入门(案例版)课程中的 2.for循环语句小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^