Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中带参数的随机数_Python_Python 3.x - Fatal编程技术网

Python中带参数的随机数

Python中带参数的随机数,python,python-3.x,Python,Python 3.x,使用参数生成随机数 比如1到10,15到20的随机数 输出将是1,2,3,4,5,6,7,8,9,15,16,17,18,19 10到15之间的数字将被排除您可以使用一个数字列表和一个范围来生成数字。比如: excluded = [10,11,12,13,14] for i in range(1, 20): if i not in excluded: print(i) 您只需使用range构建一个选择列表,然后将其传递给random。choice: import ran

使用参数生成随机数

比如1到10,15到20的随机数

输出将是1,2,3,4,5,6,7,8,9,15,16,17,18,19


10到15之间的数字将被排除

您可以使用一个数字列表和一个范围来生成数字。比如:

excluded = [10,11,12,13,14]
for i in range(1, 20):
    if i not in excluded:
        print(i)

您只需使用
range
构建一个选择列表,然后将其传递给
random。choice

import random

choices = [*range(1, 10), *range(15, 20)]
num = random.choice(choices)
幸运的是,此解决方案也足够短,可以压缩为一行:

num = random.choice([*range(1, 10), *range(15, 20)])

有人指出(然后删除了他们的评论)使用此解决方案和更大的数字会导致内存过度使用。如果范围大幅扩大,则可以使用此解决方案,而无需实际创建所有可能选项的列表:

import random

min1 = 1
max1 = 10

min2 = 15
max2 = 20

num_choices = (max1 - min1) + (max2 - min2)
n = int(random.random() * num_choices) + 1

if n >= max1 and n < min2:
    n += min2 - max1
随机导入
min1=1
max1=10
min2=15
max2=20
num_选项=(max1-min1)+(max2-min2)
n=int(random.random()*num_选项)+1
如果n>=max1且n
您尝试了什么?对于参数应该是什么,您还很模糊。始终有4个参数a、b、c、d,其中a