如何在python中为数组元素赋予随机数?

时间:2019-02-01 18:15:38

标签: python

我正在尝试编写一个对函数中数组的正负元素求和的程序。但是我在给数组分配随机数方面遇到问题。我能做什么?

我的代码=>

 def meto_foo(a):
        t1=0
        t2=0
        if a<0:
            t1=t1+a
        if a>0:
            t2=t2+a
        return t1,t2        


    nums = []

    for i in range(5):
        nums = random.randint(-5,5)
        print(nums)

print(meto_foo(nums))

我的输出=>

3
-3
0
-1
2
(0, 2)

4 个答案:

答案 0 :(得分:0)

在for循环中,您正在将列表变量nums重新分配给单个随机整数值。您可以改为附加到列表。

nums = []

for i in range(5):
    num = random.randint(-5,5)
    nums.append(num)

print(nums)

答案 1 :(得分:0)

  

但是我在给数组提供随机数方面遇到问题。我能做什么   干嘛?

使用列表推导生成随机数数组

num = [random.randint(-5,5) for i in range(5)]

答案 2 :(得分:0)

只需修改您的代码即可:

def meto_foo(a):
    t1=0
    t2=0
    for i in a:
       if i<0:
          t1=t1+i
       if i>0:
          t2=t2+i
    return t1,t2 

nums = []

for i in range(5):
   num = random.randint(-5,5)
   nums.append(num)
print(nums)
print(meta_foo(nums))

代码中的错误之处在于,您只向meta_foo()方法发送了最后一个值

答案 3 :(得分:0)

如果您要查找的是一个正负数列表并将它们相加,那么您实际上就不需要random,因为range应该会给您这样的列表,您可以使用{ {1}}添加所有值:

sum()

但是,如果要限制在5范围内,请使用nums = [i for i in range(-5,5)] print(nums) #Output: [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] print(sum(nums)) #Output: -5 生成该范围内的值,然后使用random()

sum()