Python中带参数的随机数
使用参数生成随机数 比如1到10,15到20的随机数 输出将是1,2,3,4,5,6,7,8,9,15,16,17,18,19Python中带参数的随机数,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
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