Python 找到数字的位置
我需要找到一个在一定范围内随机选择的数字的位置。 例:Python 找到数字的位置,python,random,Python,Random,我需要找到一个在一定范围内随机选择的数字的位置。 例:(开始、停止、步骤):(3,6,1) 这对应于(3,4,5,6) 其中一个数字是随机选择的,我想找到一种方法,在不使用列表的情况下,在枚举之后获得数字的位置 代码如下所示: tuple_val = (3,6,1) #or any value rand_val = randint(tuple_val[0], tuple_val[1]) for val in range(tuple_val[0], tuple_val[1], tuple_val
(开始、停止、步骤):(3,6,1)
这对应于(3,4,5,6)
其中一个数字是随机选择的,我想找到一种方法,在不使用列表的情况下,在枚举之后获得数字的位置
代码如下所示:
tuple_val = (3,6,1) #or any value
rand_val = randint(tuple_val[0], tuple_val[1])
for val in range(tuple_val[0], tuple_val[1], tuple_val[2]):
if rand_val == val:
#FIND INDEX OF rand_val
如何查找此随机数的索引?您可能希望使用:
您可能希望使用:
由于您的索引是在
范围内运行的
,因此查找索引的方法要简单得多,根本不需要进行循环
index=(rand\u val-tuple\u val[0])/tuple\u val[2]
index=(rand_val-start)/*步骤
例如,如果您想为示例中的数字4编制索引,它只是:
(4-3)/1=1
根据您的注释,该数字必须存在。因为您在
范围内运行
,所以查找索引的方法要简单得多,根本不需要循环
index=(rand\u val-tuple\u val[0])/tuple\u val[2]
index=(rand_val-start)/*步骤
例如,如果您想为示例中的数字4编制索引,它只是:
(4-3)/1=1
根据您的注释,数字必须存在。无需迭代,因为范围可以用数学描述(Python 3):
无需迭代,因为可以用数学方法描述范围(Python 3): 考虑你的
tuple_val = (3,6,1) #or any value
rand_val = randint(tuple_val[0], tuple_val[1])
然后
表示到区间起点的差值,以及
index = (rand_val - tuple_val[0]) / tuple_val[2]
提供与正在查找的索引相同的步骤数。请考虑您的
tuple_val = (3,6,1) #or any value
rand_val = randint(tuple_val[0], tuple_val[1])
然后
表示到区间起点的差值,以及
index = (rand_val - tuple_val[0]) / tuple_val[2]
提供与正在查找的索引相同的步骤数。在您的示例中,
rand\u val=randint(tuple\u val[0],tuple\u val[1])
可能由于步骤而返回不存在的整数;假设它只接受现有值。这只是为了了解如何在示例中动态查找索引rand_val=randint(tuple_val[0],tuple_val[1])
可能会由于步骤而返回不存在的整数;假设它只接受现有值。这只是为了了解如何动态查找索引
index = (rand_val - tuple_val[0]) / tuple_val[2]