python
【问题描述】小O的期末考试成绩出来了,他想要整理出自己考得最好的科目,向小L炫耀一番,你能帮帮他吗?【输入形式】一行若干个正整数,表示小W考试科目的成绩,中间用空格分隔。
【输出形式】一行若干个正整数,中间用空格分隔,表示小W成绩最高的科目是哪几科(编号),若有多门科目成绩并列最高,那么从小到大输出这些科目(编号)。
【样例输入】
100 99 98 97 100
【样例输出】
1 5
【样例说明】按照输入顺序,第1门和第5门同为100分,是最高分,故输出“1 5”
【评分标准】全部通过为满分
我目前只写出这么点
a = input().split(' ')
b=[]
for i in a:
b.append(int(i))
print(b)
c=b.copy()
d=c.index(max(b))+1
主要是那个5一直输出不了,所以想问一下各位大佬,如何输出那个5?写一下完整代码,拜托了!!! 本帖最后由 LuLD 于 2021-5-14 11:45 编辑
我是这么玩的,来个大佬简化一下
判定每个数值是否等于此列表中的最大值,返回下标
a = input().split(' ')
b=[]
for i in a:
b.append(int(i))
print(b)
d = []
for i in range(len(b)):
if b == max(b):
d.append(i+1)
print(d)
我自己简化一下
print([(i+1) for i in range(len(b)) if b == max(b)])
index只会返回第一个符合条件的索引,这得用enumerate
a = input().split(' ')
b=[]
for i in a:
b.append(int(i))
print(b)
c=b.copy()
print() LuLD 发表于 2021-5-14 11:17
我是这么玩的,来个大佬简化一下
判定每个数值是否等于此列表中的最大值,返回下标
简化结果:
a = input().split(' ')
b =
print(b)
d = [(i + 1) for i in range(len(b)) if b == max(b)]
print(d) foxiangzun 发表于 2021-5-14 11:46
简化结果:
哈哈哈 感谢,我刚自己也试着简化了一下
页:
[1]