2016-05-12 200 views
1

我們對編程的世界很陌生,所以如果我們對於簡單的改進是盲目的,那麼請原諒我們。Python - 函數的輸出並不能滿足所有的要求

我們正在制定一個系統,它必須給學生定級。 我們已經提出了一個可以將成績上升的函數 - 這是一個請求。

現在我們必須做一個函數,它可以找到給定的一組等級的平均值。但也有一些要求:

  • 如果只給出了一個檔次 - 這一定是最終成績(這工作)
  • 如果有不止一個檔次,它必須刪除最低等級(這也應該工作,因爲我們已經整理了數
  • 問題是:如果有給學生一個檔次減三(-3) - 這個級別必須是等級的一個載體的最終成績

此。是我們的代碼:

def computeFinalGrades(grades): 
    meanGrades = [] 
    N = np.size(grades[:,0]) 
    M = np.size(grades[0,:]) 

    for i in range(N):  

    if M == 1: 
     grades = grades 

    elif M >= 2: 
     grades = np.sort(grades) 

     if -3 in grades[:,1}: 
      meanGrades.append(-3) 

     else: 
      grades = np.delete(grades,[0],axis=1)   
      meanGrades.append(np.mean(grades)) 

    gradesFinal = roundGrade(meanGrades) 

    return gradesFinal 

謝謝yoooooou!祝你有愉快的一天! :-)

+0

爲了更清楚起見,「roundGrade」方法做了什麼? –

回答

0
  1. 這行看起來破:

    if -3 in grades[:,1}: 
    

    也許你在哪裏要做到這一點:

    if -3 in grades[:,1]: 
    
  2. 這行看起來完全無用的:

    grades = grades