这是大约10个动机故事,我必须通过观察几个方面来“评分”它们。第一个if语句检查故事的长度是否超过280个字符,第二个if语句检查第一个字母是否是大写字母。我想将分数存储在candidscore
中,所以如果坦率2的长度大于> 280,第一个字母是我希望candidscore[1]
为2的大写字母。
代码:
candidscore = numpy.zeros(10)
for i in range(0, 9):
if lengthmot[i] > 280:
candidscore[i] =+ 1
if lengthmot[i] > 0:
if motivation[i][0].isupper():
candidscore[i] =+ 1
问题:
数组candidscore
最初看起来像:array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
,因此可行。
检查长度是否> 280,这适用于,数组中有几个。 array([ 1., 0., 1., 1., 1., 0., 1., 0., 1., 0.])
。所以这也适用
然后它应该检查第一个字母是否是大写字母,我认为它确实检查了它但它只增加了在第一个if语句之后它仍为0的分数,所以看起来像这样:array([ 1., 1., 1., 1., 1., 1., 1., 0., 1., 1.])
。
然而根据数据它/我希望它看起来像这样:
array([ 2., 1., 2., 2., 1., 1., 1., 0., 1., 2.])
。
我不明白为什么已经1的元素不会增加。
答案 0 :(得分:5)
您正在使用=+
而不是+=
,请更改它并且它应该正常工作