标题: [文本处理] [已解决]批处理如何输出100行1到100间由小到大随机不重复的10个数字 [打印本页]
作者: w1983912 时间: 2017-11-15 23:55 标题: [已解决]批处理如何输出100行1到100间由小到大随机不重复的10个数字
本帖最后由 w1983912 于 2017-11-16 02:52 编辑
时隔N年没发贴,再次求帮忙,谢谢,批处理10遍1-100数字分为10个,总100行
需求:
1-100,这100个数字,10组,总计1000个数字。
分为100行,每行分为10个数字,每行中的数字都不重复,且从小到大排序。
得到文本文件为:
1,14,25,34,48,52,61,69,80,92
6,14,29,33,40,49,58,72,84,99
.......
3,13,27,37,46,57,61,69,77,100
1,18,25,39,45,58,69,78,94,99
需要经常操作,所以批处理好一些,有劳大家费心,谢谢,祝大家生活愉快。
作者: w1983912 时间: 2017-11-16 02:52
PHP 代码已搞定 谢谢
作者: codegay 时间: 2017-11-16 14:34
本帖最后由 codegay 于 2017-11-17 15:50 编辑
python3- import random
- with open("temp.txt", "w") as f:
- for r in range(100):
- t = random.sample(range(1, 101), 10)
- t.sort()
- f.write(",".join([str(i) for i in t]) + "\n")
复制代码
- import random
- with open("temp.txt", "w") as f:
- for r in range(100):
- f.write(",".join([str(i) for i in sorted(random.sample(range(1, 101), 10))]) + "\n")
复制代码
作者: slore 时间: 2017-11-17 12:59
ruby 100.rb >temp.txt- 10.times {puts [*1..100].sample(100).join("\n")}
复制代码
脚本自己写文件:- File.open('temp.txt', 'w+') do |f|
- 10.times { f.write [*1..100].sample(10).sort.join(',') + "\n" }
- end
复制代码
或者:- File.open('temp2.txt', 'w+').write ( [*0..10].map { [*1..100].sample(10).sort.join(',') }.join("\n"))
复制代码
作者: codegay 时间: 2017-11-18 15:06
本帖最后由 codegay 于 2017-11-25 02:00 编辑
nim版- import random
- import strutils
- import algorithm
-
- randomize()
- var myseqs = newSeq[int](0)
- var ran:int
-
- var f = open("temp.txt",fmWrite)
-
- for c in 1..100:
- myseqs = newSeq[int](0)
- while myseqs.len != 10:
- ran = random(1..101)
- if ran notin myseqs:
- myseqs.add(ran)
- f.writeLine join(sorted(myseqs,cmp[int]),",")
- f.close()
-
- for r in lines "temp.txt":
- echo r
复制代码
之前忘记去重的事了。查了资料学了下,重新写了。→_→虽然没人会用。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |