我已经总结了我正在努力弄清楚的一些事情的逻辑(Python新手,我已经很久没有做过任何编码了)。我有下面的代码,目的是滚动 d6limit次(在本例中为 300),然后在定义的迭代次数上生成一个文件,其中每 300 次迭代生成的骰子滚动到它自己的文件中。
我得到的是 n ( loops) 个文件,每个文件都有相同的数据。所以现在这将返回 random1.txt、random2.txt 和 random3.txt 并且它们都将具有相同的值。
显然我需要results在父while循环()的每次迭代开始时以某种方式重新初始化while loops >=1:,我只是不知道如何。
如果有人能同情一个笨拙的艺术家,我将不胜感激!这是我正在进行的一个艺术项目的一部分,如果有人好奇的话,我会用 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()