1038 統計同成績學生 python

2021-09-10 07:54:13 字數 1396 閱讀 1799

1038 統計同成績學生 (20 分)

本題要求讀入 n 名學生的成績,將獲得某一給定分數的學生人數輸出。

輸入在第 1 行給出不超過 10​5​​ 的正整數 n,即學生總人數。隨後一行給出 n 名學生的百分制整數成績,中間以空格分隔。最後一行給出要查詢的分數個數 k(不超過 n 的正整數),隨後是 k 個分數,中間以空格分隔。

在一行中按查詢順序給出得分等於指定分數的學生人數,中間以空格分隔,但行末不得有多餘空格。

10

60 75 90 55 75 99 82 90 75 50

3 75 90 88

3 2 0
n=eval(input())

ls=input().split()

for i in range(len(ls)):

ls[i]=int(ls[i])

ls1=input().split()

k=int(ls1[0])

ls2=ls1[1:]

ls_out=

for i in range(len(ls2)):

ls2[i]=int(ls2[i])

for num1 in ls2:

cnt=0

for num2 in ls:

if num2==num1:

cnt+=1

out=''

for i in range(len(ls_out)):#因為要求行尾不能有空格,做了一下處理

out+=str(ls_out[i])

print(' '.join(out))

劈了啪啦寫了一堆,果然有超時

看了看別人的**,看見有直接用count()函式的,7行就寫完了

然後下面這個是無超時的,xutiantian1412的**

n = eval(input()) #map()函式以前沒學過,我也不常用,我的理解就是第乙個引數是動作

score = list(map(int,input().split())) #第二個是要處理的資料,這裡就是對輸入並分好的列表裡的數

grade = [0 for i in range(101)] #據做int操作,得到乙個全是int的列表

for sc in score: #第三行的這種for迴圈寫法我也不常用,結果是得到乙個grade列表,有101個0

grade[sc] += 1

ans =

lst = list(map(int,input().split()))

for sc in lst[1:]:

print(' '.join(ans))

#整個**不難理解,看完第一感覺是臥槽這是怎麼想到的。。

1038 統計同成績學生

本題要求讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。輸入格式 輸入在第1行給出不超過105 的正整數n,即學生總人數。隨後1行給出n名學生的百分制整數成績,中間以空格分隔。最後1行給出要查詢的分數個數k 不超過n的正整數 隨後是k個分數,中間以空格分隔。輸出格式 在一行中按查詢順序給出得分...

1038 統計同成績學生

題目資訊 本題要求讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。輸入格式 輸入在第1行給出不超過105的正整數n,即學生總人數。隨後1行給出n名學生的百分制整數成績,中間以空格分隔。最後1行給出要查詢的分數個數k 不超過n的正整數 隨後是k個分數,中間以空格分隔。輸出格式 在一行中按查詢順序...

1038 統計同成績學生

時間限制 250 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 本題要求讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。輸入格式 輸入在第1行給出不超過105的正整數n,即學生總人數。隨後1行給出n名學生的百分制整數成績,中間以...