如何清除随机生成的数据以循环在每个文件中创建新数据?
How do I clear my randomly generated data to create new data in each file in a loop?
我已经归结了我正在努力弄清楚的东西的逻辑([=26= 的新手],我已经很长时间没有完成任何编码了)。我有下面的代码,目的是滚动 d6 limit
次(在本例中为 300 次),然后在定义的迭代次数内生成一个文件,其中每 300 次迭代的结果骰子滚动到它自己的文件中。
我得到的是 n (loops
) 个文件,每个文件中的数据都相同。所以现在这将 return random1.txt、random2.txt 和 random3.txt 并且它们都将具有相同的值。
显然我需要在父 while 循环 (while loops >=1:
) 的每次迭代开始时以某种方式重新初始化 results
,我只是不知道如何做。
如果有人能同情一个浮躁的艺术家,我将不胜感激!这是我正在致力于使用 axidraw 制作生成艺术的艺术项目的一部分,如果有人好奇的话。
import numpy as np
import os
loops = 3 # will generate n files
limit = 300
throw = 1.0
results = []
while loops >=1:
loops -= 1
while throw <= limit:
roll = np.random.randint(1, 7)
throw += 1
results.append(roll)
n = 1
while os.path.exists("random%s.txt" % n):
n += 1
listToStr = ' '.join(map(str, results))
f = open("random%s.txt" % n, "w" )
f.write(listToStr)
f.close()
一些错误艺术家的代码:-)
import numpy as np
nRolls = 8
for f in [1,2,3]:
# Generate 8 rolls of the die
rolls = np.random.randint(1,7,nRolls)
# Save like a CSV
np.savetxt(f'random{f}.txt', [rolls], delimiter=',', fmt='%d')
random1.txt
5,2,3,5,4,6,6,1
random2.txt
1,6,6,1,1,4,2,1
random3.txt
5,4,4,4,6,3,1,5
我已经归结了我正在努力弄清楚的东西的逻辑([=26= 的新手],我已经很长时间没有完成任何编码了)。我有下面的代码,目的是滚动 d6 limit
次(在本例中为 300 次),然后在定义的迭代次数内生成一个文件,其中每 300 次迭代的结果骰子滚动到它自己的文件中。
我得到的是 n (loops
) 个文件,每个文件中的数据都相同。所以现在这将 return random1.txt、random2.txt 和 random3.txt 并且它们都将具有相同的值。
显然我需要在父 while 循环 (while loops >=1:
) 的每次迭代开始时以某种方式重新初始化 results
,我只是不知道如何做。
如果有人能同情一个浮躁的艺术家,我将不胜感激!这是我正在致力于使用 axidraw 制作生成艺术的艺术项目的一部分,如果有人好奇的话。
import numpy as np
import os
loops = 3 # will generate n files
limit = 300
throw = 1.0
results = []
while loops >=1:
loops -= 1
while throw <= limit:
roll = np.random.randint(1, 7)
throw += 1
results.append(roll)
n = 1
while os.path.exists("random%s.txt" % n):
n += 1
listToStr = ' '.join(map(str, results))
f = open("random%s.txt" % n, "w" )
f.write(listToStr)
f.close()
一些错误艺术家的代码:-)
import numpy as np
nRolls = 8
for f in [1,2,3]:
# Generate 8 rolls of the die
rolls = np.random.randint(1,7,nRolls)
# Save like a CSV
np.savetxt(f'random{f}.txt', [rolls], delimiter=',', fmt='%d')
random1.txt
5,2,3,5,4,6,6,1
random2.txt
1,6,6,1,1,4,2,1
random3.txt
5,4,4,4,6,3,1,5