【发布时间】:2016-06-17 09:26:29
【问题描述】:
在丹麦,我们有一个奇怪的评分系统,如下所示。 [-3,00,02,4,7,10,12] 我们的任务是取一个具有不同十进制数的向量,并将其四舍五入到最接近的有效等级。到目前为止,这是我们的代码。
import numpy as np
def roundGrade(grades):
if (-5<grades<-1.5):
gradesRounded = -3
elif (-1.5<=grades<1.5):
gradesRounded = 00
elif (1.5<=grades<3):
gradesRounded = 2
elif (3<=grades<5.5):
gradesRounded = 4
elif (5.5<=grades<8.5):
gradesRounded = 7
elif (8.5<=grades<11):
gradesRounded = 10
elif (11<=grades<15):
gradesRounded = 12
return gradesRounded
print(roundGrade(np.array[-2.1,6.3,8.9,9]))
我们的控制台似乎不喜欢这样并重新调整: TypeError: builtin_function_or_method' 对象不可下标
感谢所有帮助,如果您有更聪明的方法,欢迎您将我们置于我们的位置。
【问题讨论】:
-
这里绝对不需要numpy。
-
@Ev.Kounis 我假设使用 numpy 是有充分理由的,这只是一个玩具示例,否则我建议简单地使用带有内置 @987654322 的列表@函数。