小明计划给班主任老师写一个自动登记成绩的程序,这个程序会自动从同学录里面获取同学的姓名,并且询问老师,该同学的成绩是多少。等所有的同学成绩都登记完了后,程序会自动排列出成绩的高低(从高到低),为了保护隐私,排序后的列表里面没有同学的任何信息。请您也试着写一个这样的程序吧。
同学名单:[张飞,赵云,关羽,刘备,曹操,荀彧,郭嘉,黄盖,周瑜,祖茂]
输出样例:
请输入张飞同学的成绩:1
请输入赵云同学的成绩:10
请输入关羽同学的成绩:15
请输入刘备同学的成绩:21
请输入曹操同学的成绩:
请输入荀彧同学的成绩:22
请输入郭嘉同学的成绩:23
请输入黄盖同学的成绩:24
请输入周瑜同学的成绩:25
请输入祖茂同学的成绩:26
[,26,25,24,23,22,21,15,10,1]
附加题:请按照成绩顺序输出名单列表
输出样例:
[曹操,祖茂,周瑜,黄盖,郭嘉,荀彧,刘备,关羽,赵云,张飞]
今天这篇文章我们只讲基础部分,附加题我们明天再讲。这道题也是我在辅导班里面留的作业。
首先我们梳理一下可能会用到的知识点:
新建列表、添加元素append、输入语句input()、遍历列表for循环、排序函数sorted或sort、要求从大到小reverse=1、input中只可以使用一个参数,所以需要使用占位符。
接着,编辑脚本:
将题目中的列表定义为a,新建列表b,用于存储成绩。
a=[张飞,赵云,关羽,刘备,曹操,荀彧,郭嘉,黄盖,周瑜,祖茂]
b=[]#大于小澍
foriina:遍历列表a,i为其中的每一个元素。
将输入的成绩添加到列表b中
b.append(int(input(请输入%s的分数%i)))
输出列表b的倒序排序列表
print(sorted(b,reverse=1))
最后,运行脚本,输出截图。
运行截图好了,以上就是我整个制作步骤了,应该还有其他的解题方法,如果过你有不一样的制作方法,请在评论区留言分享给我,我们一同进步!我是大于小澍,一个陪孩子玩的90程序员。感谢你的阅读。