1077 互評成績計算 20 分

2021-09-24 04:41:20 字數 1868 閱讀 7527

題意描述:

在浙大的計算機專業課中,經常有互評分組報告這個環節。乙個組上台介紹自己的工作,其他組在台下為其表現評分。最後這個組的互評成績是這樣計算的:所有其他組的評分中,去掉乙個最高分和乙個最低分,剩下的分數取平均分記為 g​1​​ ;老師給這個組的評分記為 g​2​​ 。該組得分為 (g​1​​ +g​2​​ )/2,最後結果四捨五入後保留整數分。本題就要求你寫個程式幫助老師計算每個組的互評成績。

輸入格式:

輸入第一行給出兩個正整數 n(> 3)和 m,分別是分組數和滿分,均不超過 100。隨後 n 行,每行給出該組得到的 n 個分數(均保證為整型範圍內的整數),其中第 1 個是老師給出的評分,後面 n−1 個是其他組給的評分。合法的輸入應該是 [0,m] 區間內的整數,若不在合法區間內,則該分數須被忽略。題目保證老師的評分都是合法的,並且每個組至少會有 3 個來自同學的合法評分。

輸出格式:

為每個組輸出其最終得分。每個得分佔一行。

輸入樣例:

6 50

42 49 49 35 38 41

36 51 50 28 -1 30

40 36 41 33 47 49

30 250 -25 27 45 31

48 0 0 50 50 1234

43 41 36 29 42 29

輸出樣例:

42

3341

3137

39

解題思路:

alice:em,好像沒什麼需要特備注意的地方,除了四捨五入值得提一下。你去試試。

bob:(xx minutes later)過了。

**:

def

main()

: n, m =

(int

(x)for x in

input()

.split())

# 元組拆包

for x in

range

(n):

temp =

[int

(x)for x in

input()

.split()]

teacher_score = temp[0]

# 教師評分

student_scores =

for x in temp[1:

]:if x >=

0and x <= m:

# 所有合法的學生評分

student_scores.sort(

) student_score =

sum(

student_scores[1:

-1])

/float

(len

(student_scores)-2

)# 去掉最高分,最低分後求平均值

# print(student_scores)

#print(teacher_score, student_score)

print

(int

((teacher_score + student_score)

/2.0

+0.5))

# 教師評分,學生評分相加後 四捨五入 輸出

if __name__ ==

'__main__'

: main(

)

易錯點:

總結:

1077 互評成績計算(20 分)

1077 互評成績計算 20 分 在浙大的計算機專業課中,經常有互評分組報告這個環節。乙個組上台介紹自己的工作,其他組在台下為其表現評分。最後這個組的互評成績是這樣計算的 所有其他組的評分中,去掉乙個最高分和乙個最低分,剩下的分數取平均分記為 g 1 老師給這個組的評分記為 g 2 該組得分為 g ...

1077 互評成績計算 (20 分)

在浙大的計算機專業課中,經常有互評分組報告這個環節。乙個組上台介紹自己的工作,其他組在台下為其表現評分。最後這個組的互評成績是這樣計算的 所有其他組的評分中,去掉乙個最高分和乙個最低分,剩下的分數取平均分記為 g 1 老師給這個組的評分記為 g 2 該組得分為 g 1 g 2 2,最後結果四捨五入後...

1077 互評成績計算 (20 分)

在浙大的計算機專業課中,經常有互評分組報告這個環節。乙個組上台介紹自己的工作,其他組在台下為其表現評分。最後這個組的互評成績是這樣計算的 所有其他組的評分中,去掉乙個最高分和乙個最低分,剩下的分數取平均分記為 g 1 老師給這個組的評分記為 g 2 該組得分為 g 1 g 2 2,最後結果四捨五入後...