如何将数量列表输入到一个函数中并将输出打印到控制台[关闭]

问题描述 投票:-3回答:5

我有一个数量列表(100,500,1000)。我想生成0到10,100倍,500倍,1000倍的随机数。我想在一次调用中执行此操作并将输出打印到控制台。

def random_array(n): #define function to generate the random array
    array_a = []
    for i in range(0, n, 1):
        array_a.append(randint(0, 10))
    return array_a
python random
5个回答
0
投票
import random
 #for choosing random number 100, 500,1000 times 
times=[100,500,1000]    # taking no of times as a list

final_array=[]

def random_array(a):  
    for i in range(a):
        rand_num=random.randint(0,10)         
        final_array.append(rand_num)
    print(final_array)            

for i in range(len(times)):     # passing each value in times as a parameter
    random_array(times[i])

# output will generate 3 arrays of 100,500,1000 times randomly generated integers

0
投票

你可以尝试下面的方法,使用两个循环一个用于列表项的数量,另一个用于随机生成的数量

import random
from random import randint
list1 = [100,500,1000]
list=""

times_run=0
for item in list1: 
    while times_run<=item: --loop for number of times random generation
        gen1=random.randint(0, 10)
        list=str(list)+str(gen1)+" " --for separating each generated values
        times_run+=1

print (list)

0
投票

你可以使用numpy库。

import numpy as np
np.random.randint(low=0,high=10, size=1000)

0
投票

你可以使用random_ in for loop如下

import random as random
array_a = []
n = (100,500,1000)
for k in n:
    array_a.append([random.randint(0,10) for _ in range(k)])
print(array_a)

0
投票

我不确定你想要什么,所以如果这不是你想要的,那么你应该进一步解释一下。

ls=[100,500,1000]
ls2=[]
def random_array(ls,ls2):
    for i in ls:
        for x in range(0,i):
            ls2.append(random.randint(0,10))
random_array(ls,ls2)
print(ls2)
© www.soinside.com 2019 - 2024. All rights reserved.