【发布时间】:2018-07-18 01:01:56
【问题描述】:
我想使用 i 和 j 之间的 n 个数字创建一个随机数。例如,对于 n=10 和 i=1 和 j=5,预期这样的输出:2414243211。我使用以下代码在 R 中做到了:
paste(floor(runif(10,1,5)),collapse="") #runif create 10 random number between 1 and 5 and floor make them as integer and finally paste makes them as a sequence of numbers instead of array.
我想在 Python 中做同样的事情。我找到了random.uniform,但它会生成 1 个数字,我不想使用循环。
import random
import math
math.floor(random.uniform(1,5)) #just generate 1 number between 1 and 5
更新:
- i 和 j 是 0 到 9 之间的整数,而 n 可以是任何整数。
- i 和 j 决定字符串中可以使用的数字,而 n 表示数字字符串的长度。
【问题讨论】:
-
在原生 Python 中,你必须使用循环——如果你熟悉 R——那么你可能想看看 numpy/pandas。
-
所以你想要一个带有这些数字的号码?
int(''.join([str(math.floor(random.uniform(1,5))) for _ in range(10)]))