无法读取打印输出中的 IF



对于下面的代码,Python 建议我使用 a.any 。现在,根据我的代码,输出显示的内容是错误的。 l1大,但输出是打印r而不是q=10

from numpy import *
import numpy as np
for i in range (1,3):
    r=np.random.uniform(0,3,i)
    x=np.random.uniform(0,9,i)    
    h=np.random.uniform(0,1,i)
    l=r+x
    if (l<1.0).any:
        q=r
    elif (l>1.0).any:
        q=10
    print("q= ",q,"l= ",l)

我看了你的问题。这个可以通过更改随机数来仔细检查。如果您只想要随机数,则使用 np.random.uniform(0,1) 不需要any()。但是,如果为每个i提供特定数字很重要,则必须使用 any() .

for i in range (1,3):
    r=np.random.uniform(0,3)
    x=np.random.uniform(0,9)    
    h=np.random.uniform(0,1)
    l=r+x
    if l<1.0:
        q=r
    elif l>1.0:
        q=10
    print("q= ",q,"l= ",l)

最新更新