Python忽略了我的if

Python忽略了我的if,python,Python,谁能告诉我为什么这个循环忽略了if?(编辑:这是全部代码-返回数字的函数。) 可能是因为prods总是小于或等于maxnum?您使用了什么值来初始化maxnum?它应该在循环之前设置为一个非常小的数字,比如说maxnum=float(“-inf”)。另一种可能性是,lookaround返回一个不正确的值,对该函数进行单元测试。您可以这样编写: from itertools import product time_now = time() number = np.loadtxt("11.txt

谁能告诉我为什么这个循环忽略了if?(编辑:这是全部代码-返回数字的函数。)


可能是因为
prods
总是小于或等于
maxnum
?您使用了什么值来初始化
maxnum
?它应该在循环之前设置为一个非常小的数字,比如说
maxnum=float(“-inf”)
。另一种可能性是,
lookaround
返回一个不正确的值,对该函数进行单元测试。

您可以这样编写:

from itertools import product

time_now = time()

number = np.loadtxt("11.txt", unpack=True, dtype='int64')
lenx = len(number[0,:])
leny = len(number[:,0])

maxnum = max(lookaround(n, m) for n, m in product(range(lenx), range(leny)))

time_end = time();    
elapsed = time_end - time_now

print(maxnum, elapsed)   # <== maxnum not prods
来自itertools导入产品的

time_now=time()
number=np.loadtxt(“11.txt”,unpack=True,dtype='int64')
lenx=len(数字[0,:])
leny=len(数字[:,0])
maxnum=max(产品中n,m的环视(n,m)(范围(lenx),范围(leny)))
时间=时间();
已用=时间\u结束-时间\u现在

print(maxnum,appeased)#此处没有足够的信息。值得注意的是,如果要查找最大值,您可能需要使用。为什么不直接使用
max(lookaround(n,m)表示范围内的m(leny)表示范围内的n(lenx))
?@Blender也许有必要解释一下什么是一个数字。我正在通过一个函数进行迭代,该函数会返回一个数字。我只是想检查它是否比以前任何时候都高。我做了,输出给出了很多正数。0以下为零。在循环之后,实际上没有使用
maxnum
。也许最后一行应该是这个<代码>打印(最大值,已用)
from itertools import product

time_now = time()

number = np.loadtxt("11.txt", unpack=True, dtype='int64')
lenx = len(number[0,:])
leny = len(number[:,0])

maxnum = max(lookaround(n, m) for n, m in product(range(lenx), range(leny)))

time_end = time();    
elapsed = time_end - time_now

print(maxnum, elapsed)   # <== maxnum not prods