题目:
小易参加了一次考试,这场包含 n 个题目,第 i 个题目的分数是 si 。
如果小易第 i 题目回答正确,他将得到 Si 分,否则该题目他将得到 0 分。
最终的考试得分是所有题目得分的总和。
由于阅卷老师很讨厌数字 5,在阅卷时如果一个学生的考试总分中含有数字 5,那么阅卷老师将气愤地给他 0 分。
那么小易考试的最高得分是多少?
输入描述:
输入的第一行是正整数 n(1<=n<=100) ,代表这场考试的题目数。
接下一行含有n个正整数 s1,s2,s3....sn (1<= si <=200)
输出描述:
输出一个整数,代表小易考试的最高得分。
输入例子
5
5 15 5 15 5
输出例子
40
解题思路:
由于所求的是最高分,且限制条件为成绩不得带5
所以先假设全对分数求和,即为无限制条件下的最高分,然后判断成绩是否带5,有5就减掉最低分,减一次不一定能得到答案,所以需要对分数列表进行排序。
代码实现:
num = int(input()) #此处默认num=len(li) 没有做错误退出 大家需要注意
li = input().split() #获取分值列表
li = sorted(list(map(int,li)))#将分值列表进行排序
S = 0
for i in range(num): #此处累加 也可以用sum()函数
S += li[i]
if str(S).count('5')!=0: #判断成绩是否含‘5’用count函数
for i in range(num):
S = S-li[i]#减去最低分
if str(S).count('5') == 0:#成绩不带5就break
break
print(S)