2016-05-12 3 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 
    
Смежные вопросы