我有一组随机化的浮点值,它们将被安排到一个数组中,在每个循环的末尾产生67个,但是,总共有64个循环。 例如,如果每个循环有4个值和3个整数循环,我希望它是这样的: 值=[[0,4,5,1],[6,6,5,3],[0,0,0,7]] 因此,我可以将它们标识为单独的数组,但是,我不确定在创建值之后追加值的最佳方式,但是我知道如何返回它们。原谅我,因为我不懂逻辑。在
import math
import random
funcs = []
coord = []
pi = math.pi
funcAmt = 0
coordAmt = 0
repeatAmt = 0
coordPass = 0
while funcAmt < 64:
while coordAmt < 67:
coordAmt += 1
uniform = round(random.uniform(-pi, pi), 2)
print("Coord [",coordAmt,"] {",uniform,"} Func:", funcAmt + 1)
if uniform in coord:
repeatAmt += 1
print("Repeat Found!")
coordAmt -= 1
print("Repeat [",repeatAmt,"] Resolved")
pass
else:
coordPass += 1
coord.append(uniform)
#<<<Append Here>>>
funcAmt += 1
coord.clear()
coordAmt = 0
在我上面给定的代码中,它类似于: 函数=[ [<;67项>;], …又63次了 ]在
您可以使用集合,因为它们不允许重复的值:
有几种方法可以解决这个问题。不用使用
while
列表和计数器,您可以使用for
循环。或者至少对外部循环执行此操作,因为看起来您仍然希望检查重复。下面是一个使用原始维度3和4的示例:您的“append here”逻辑应该追加坐标列表,然后清除该列表,以便外循环的下一次迭代:
你应该学会使用
^{pr2}$for
循环。这将简化循环:您不必自己维护计数。例如:您还可以查找如何生成“列表理解”,它可以将您的过程简化为一行代码——一行很长、很复杂的行,但是可以用适当的空白区来阅读。在
这能让你动起来吗?在
相关问题 更多 >
编程相关推荐