函数返回非类型?

时间:2017-05-01 02:09:35

标签: python flask

我制作了一个表索引函数:

#test table
array = [
    ['t',2,3,4],
    ['y',6,7,8],
    ['g',10,11,12]
    ]

def findrow(table, num): 
  for i, x in enumerate(table):
    if num in x:
      row = i
      return row

findrow(array,'t')返回

0 #correct

findrow(array,10)

404

我的功能无法在数组中搜索数字。我不确定是什么引起了这个问题。

我修复/删除了404部分(最初是作为输出的HTML页面的调试返回添加的。我认为该值仍然是非类型

def check(value):
index = (value)
row = findrow(array, index)
if row >= len(array):
    return "not in table"
return row
TypeError: '>=' not supported between instances of 'NoneType' and 'int'

3 个答案:

答案 0 :(得分:1)

return 404您找不到num的第一行return 404。将return i移动到for-loop正文之外,并在发现它的情况下移动def findrow(table, num): for i, x in enumerate(table): if num in x: return i return 404

var results = [];
var query = conn.query(q, function(error, result){

    for (var i = 0; i < result.rowCount; i++) {
            results.push(result.rows[i]);
        }
    console.log(results); // results is not empty here
} );


//  console.log(results); // results is empty here 

答案 1 :(得分:0)

# your 404 return is not in the right place.This should work.
def findrow(table, num): 
    for i, x in enumerate(table):
      if num in x:
          row = i
          return row
    return 404

答案 2 :(得分:0)

def findrow(table, num):
    for i, x in enumerate(table):
        if num in x:
            return i
    else:
        return 404

我认为这会更容易理解。