无法在打印输出中读取IF

时间:2018-03-16 08:40:59

标签: python arrays numpy if-statement random

对于以下代码,Python建议我使用a.any。 现在,根据我的代码,输出显示的是错误的。 l大于1,但输出正在打印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)

1 个答案:

答案 0 :(得分:0)

我看了你的问题。可以通过改变随机数来仔细检查这个。 如果您只想要随机数,则使用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)