我有一个约2000个文件的目录.如何N通过使用bash脚本或管道命令列表来选择随机的文件样本?
一种通用方法,可以返回2个参数之间的随机整数,如ruby rand(0..n).
有什么建议吗?
我想让我的数组项目混乱.像这样的东西:
[1,2,3,4].scramble => [2,1,3,4]
[1,2,3,4].scramble => [3,1,2,4]
[1,2,3,4].scramble => [4,2,3,1]
Run Code Online (Sandbox Code Playgroud)
等等,随机
我如何生成一个必须在两个其他给定日期之间的随机日期?
函数的签名应该是这样的:
random_date("1/1/2008 1:30 PM", "1/1/2009 4:50 AM", 0.34)
^ ^ ^
date generated has date generated has a random number
to be after this to be before this
Run Code Online (Sandbox Code Playgroud)
并会返回如下日期: 2/4/2008 7:20 PM
到目前为止,我已经想出了如何导入文件,创建新文件以及随机化列表.
我无法从列表中随机选择50个项目来写入文件?
def randomizer(input,output1='random_1.txt',output2='random_2.txt',output3='random_3.txt',output4='random_total.txt'):
#Input file
query=open(input,'r').read().split()
dir,file=os.path.split(input)
temp1 = os.path.join(dir,output1)
temp2 = os.path.join(dir,output2)
temp3 = os.path.join(dir,output3)
temp4 = os.path.join(dir,output4)
out_file4=open(temp4,'w')
random.shuffle(query)
for item in query:
out_file4.write(item+'\n')
Run Code Online (Sandbox Code Playgroud)
所以,如果总随机化文件是
example:
random_total = ['9','2','3','1','5','6','8','7','0','4']
Run Code Online (Sandbox Code Playgroud)
我想要3个文件(out_file1 | 2 | 3),第一个随机集3,第二个随机集3和第三个随机集3(对于这个例子,但我要创建的那个应该有50个)
random_1 = ['9','2','3']
random_2 = ['1','5','6']
random_3 = ['8','7','0']
Run Code Online (Sandbox Code Playgroud)
所以最后的'4'将不包括在内,这很好.
如何从随机化的列表中选择50?
更好的是,如何从原始列表中随机选择50?
我正在尝试用骰子制作游戏,我需要在其中有随机数字(模拟模具的两侧.我知道如何在1到6之间进行).运用
#include <cstdlib>
#include <ctime>
#include <iostream>
using namespace std;
int main()
{
srand((unsigned)time(0));
int i;
i = (rand()%6)+1;
cout << i << "\n";
}
Run Code Online (Sandbox Code Playgroud)
效果不好,因为当我运行程序几次时,这是我得到的输出:
6
1
1
1
1
1
2
2
2
2
5
2
Run Code Online (Sandbox Code Playgroud)
所以我想要一个每次都会产生不同随机数的命令,而不是连续5次产生不同的随机数.有没有命令可以做到这一点?
我有一个名为的数组 $ran = array(1,2,3,4);
我需要从这个数组中获取一个随机值并将其存储在变量中,我该怎么做?
如何在C或C++中正常分布后轻松生成随机数?
我不想使用Boost.
我知道Knuth详细谈论了这个问题,但我现在还没有他的书.
6年来,我的网站上有一个随机数生成器页面.很长一段时间,它是Google上"随机数生成器"的第一个或第二个结果,并且已被用于在论坛和博客上决定数十个(如果不是数百个)竞赛和绘图(我知道因为我看到了我的推荐人)网络日志,通常去看看).
今天,有人通过电子邮件告诉我,它可能不像我想的那么随机.她尝试生成非常大的随机数(例如,介于1和10000000000000000000之间),发现它们几乎总是相同的位数.实际上,我将函数包装在一个循环中,因此我可以生成数千个数字,当然,对于非常大的数字,变化只有大约2个数量级.
为什么?
这是循环版本,所以你可以自己试试:
http://andrew.hedges.name/experiments/random/randomness.html
它既包括Mozilla开发者网络的直接实现,也包括1997年我从不再存在的网页中删除的一些代码(Paul Houle的"Central Randomizer 1.3").查看源以查看每种方法的工作原理.
我在这里和其他地方读过有关Mersenne Twister的文章.我感兴趣的是为什么JavaScript的内置Math.random函数的结果没有更大的变化.谢谢!