这是一个python文件:
import random
class Man:
def __init__(self):
self.list_of_men = []
self.createBody()
def createBody:
xCoord = -1
while xCoord < 16:
yCoord = 0
xCoord += 1
while yCoord < 17:
self.list_of_men.append(Body(xCoord, yCoord, val, self))
class Body:
def __init__(self, menX, menY, value, man_obj):
self.man_obj = man_obj
self.menX = xCoord
self.menY = yCoord
self.value = val
实际上,我将xCoord和yCoord附加到一个列表中,并且还要为它添加一个0或3的值。循环经过289次而在289次之外,必须随机生成数字0或3也附加到列表中(3只能附加35次)。
*注意:自我附加实际上是下一个类中的man_obj,这样我们就可以在第二个类中使用第一个类的函数。
答案 0 :(得分:0)
由于我们处理的是少量数据,我们可以初始化一个包含0的289个元素的列表,并随机分散其中的3个元素。然后你可以弹出该列表。该解决方案不能很好地扩展,但它可能满足您的特定需求。
import random
def foo():
a = [0] * 289
i = 0
while i < 35:
index = random.randint(0, 288)
if a[index] == 0:
a[index] = 3
i += 1
while a:
yield a.pop()
这是家庭作业或类似的东西吗?您是否正在尝试解决更具体的更大问题?似乎是一个不寻常的要求。
答案 1 :(得分:0)
我将xCoord和yCoord附加到一个列表中,并且还要为它附加一个0或3的值。循环经过289次,而在289次中,必须有一个随机生成的数字是0或3也附加到列表中(3只可以附加35次)。
那么,如果只允许3次追加35次,怎么会有289次迭代呢?
你在谈论这样的事吗?
from random import choice
d = list()
for x in range(289):
if d.count(3) >= 35:
d.append(0)
else:
d.append(choice([0, 3]))