name_dict=
#初始化乙個類
class coursedesc(object):
def __init__(self):
self.name=''
self.std=0
self.mean=0
self.max=0
self.min=0
self.sum=0
#建立分析課程成績好壞的類
class computerdesc(object,n_array):
#初始化
def __init__(self):
self.score_array=n_array
self.result=
#取值def counter_all_course(self):
for i in range(6):
c_desc=coursedesc()
c_desc.name=name_dict[i]
c_desc.std=self.score_array[:,i].std()
c_desc.mean=self.score_array[:,i].mean()
c_desc.max=self.score_array[:,i].max()
c_desc.min=self.score_array[:,i].min()
c_desc.sum=self.score_array[:,i].sum()
#分析def best_course(self):
# std_list=[coursa.std for coursa in self.result]
# sum_list=[coursa.sum for coursa in self.result]
std_list=
sum_list=
for coursa in self.result:
std_array=np.array(std_list)
sum_array=np.array(sum_list)
#總和最大的單項成績和索引值
max_sum_coursa=sum_arrray.max()
max_sum_index=sum_array.argmax()
#方差最小的單項成績和其索引值
min_std_coursa=std_arrray.min()
min_std_index=std_array.argmin()
#按照標準具體分析哪一科更好
if max_sum_index==max_sum_coursa:
return name_dict[max_sum_index]
else:
#取出總和最大的學科的方差值
maxscore_std=std_array[max_sum_index]
#取出方差最小的學科的總和
minstd_sum=sum_arrray[min_std_index]
#總和的變化值
sum_delta=max_sum_coursa-minstd_sum
#方差的變化值
std_delta=maxscore_std-min_std_coursa
#總和和方差的變化率
sum_percent=sum_delta/max_sum_coursa
std_percent=std_delta/min_std_coursa
if sum_percent<0.05 and std_percent>0.2:
return name_dict[min_std_index]
computerdesc=computerdesc(my_matrix)
對乙個班級的各科成績進行分析,選出班級裡成績較好的學科。 統計班級成績
班主任要統計班級中所有同學的成績,但是語文老師在給班主任提供資料的時候提供的資料沒有區分不同的資訊,把所有的學生姓名和成績一起提供給了班主任。請幫班主任識別語文老師提供的字串,解析出成績和姓名,輸出班級平均分,以及最高分同學姓名和成績,最低分學生姓名和成績。乙個包含了姓名 拼音,並且姓名中不帶數字 ...
輸出班級第幾個學生的平均成績
問題 輸出班級第n個學生的平均成績。每個學生有英語 數學 語文 計算機4科成績。若干個學生的4門成績構成乙個 可以用二維陣列儲存,每行代表乙個學生的4門成績。以為要計算某個學生的平均成績,需要快速定位到該生成績的起始位置,依次取出各門成績進行累加。所以定義乙個指向4個float型組成一維陣列的行指標...
mysql獲取某個班級學習成績的前幾名
思路 1.首先根據班級分組獲取每個班級的所有學生並通過成績排序 2.過濾掉不符合條件的學生 最終獲取所有符合條件的學生 3.在通過學生唯一字段獲取學生資訊 需要用到mysql下面幾個函式 group concat 可以把結果集中的多行中特定資料顯示成一列資料 find in set 可以檢視字串序列...