我创建了一组6个随机整数,我希望将其中的500个写入文本文件,因此它在文本文件中看起来像这样:
x,x,xx,x,xx,x \ n x,x,x,xx,x,x ....等
(其中x是整数)
from random import shuffle, randint
def rn():
return randint(1,49);
print "Random numbers are: " , rn(), rn(), rn(), rn(), rn(), rn()
必须有一种比粘贴最后一行500次更简单的方法吗?
编辑:为什么所有下来的选票?我很抱歉,如果这对你们来说是个基本问题,但对于那些学习python的人来说,不是。答案 0 :(得分:3)
这个怎么样:
print "Random numbers are: "
for _ in xrange(500):
print rn(), rn(), rn(), rn(), rn(), rn()
如果要写入文本文件:
with open('Output.txt', 'w') as f:
f.write("Random numbers are: \n")
for _ in xrange(500):
f.write("%s,%s,%s,%s,%s,%s\n" % (rn(), rn(), rn(), rn(), rn(), rn()))
答案 1 :(得分:0)
迭代一个足够大的发电机。
for linenum in xrange(500):
...
答案 2 :(得分:0)
使用for-loop
:
from random import shuffle, randint
def rn():
return randint(1,49);
with open('out.txt', 'w') as f:
for _ in xrange(500):
f.write(str(rn()) + '\n')
如果你想在每一行中有6个:
with open('out.txt', 'w') as f:
for _ in xrange(500):
strs = "Purchase Amount: {}\n".format(" ".join(str(rn())
for _ in xrange(6)))
f.write(strs)
答案 3 :(得分:0)
当然我们有简单的方法:)
from random import randint
def rn():
return randint(1, 49)
for i in xrange(500):
print rn()
答案 4 :(得分:0)
可以使用以下内容:
from random import randint
from itertools import islice
rand_ints = iter(lambda: str(randint(1, 49)), '')
print 'Random numbers are: ' + ' '.join(islice(rand_ints, 500))
并将其转储到文件中:
with open('output', 'w') as fout:
for i in xrange(500): # do 500 rows
print >> fout, 'Random numbers are: ' + ' '.join(islice(rand_ints, 6)) # of 6 each