这是我的代码 我想知道为什么我不能将'for循环'放入函数
>>> a=[5,3,5,6,8,9,0,1,3]
>>> def classification(input):
scoreget=0
for i in range(0,8):
if input[i]>2:
scoreget+=1
else:
scoreget+=0
return scoreget
>>> result=classification(a)
>>> print result
结果应该是[1,1,1,1,1,1,0,0,1],但它只显示一个值'1',而不是一个集合。
答案 0 :(得分:0)
函数在Python中的工作方式是首先完成整个for循环,然后返回函数的输出。在这种情况下,这意味着只返回最后一个输出。此外,您的范围不包括所有输入参数,可以使用len解决。下面是您的代码示例:
a = [5, 3, 5, 6, 8, 9, 0, 1, 3]
def classification(inputs):
scoreget = 0
score = []
for i in range(len(inputs)):
if inputs[i] > 2:
scoreget = 1
else:
scoreget = 0
score.append(scoreget)
return score
result = classification(a)
打印结果