【发布时间】:2013-05-02 02:16:28
【问题描述】:
我正在尝试创建一个程序,该程序将创建一个 10 元素数组,然后为每个元素分配随机值。然后我希望程序判断阵列是否平衡。平衡我的意思是,数组值中是否存在在某个元素处元素中的值的总和等于大于当前元素的元素中的数组值的总和。
例子
元素 (1,2,3,4) 值 (2,1,3,0) 然后程序会显示元素 1-2 与元素 3-4 平衡,因为它们都等于 4。
目前为止
import random
size = 10
mean = 0
lists = [0] * size
for i in range(size):
var = random.randint(0,4)
lists[i] = var
for i in lists:
mean += i
avg = (mean)/(size)
我认为平衡元素的唯一方法是如果平均值等于 2,所以我认为我应该这样开始。
如果能在正确的方向上提供任何帮助,我将不胜感激。
【问题讨论】:
-
制作
n元素的随机列表:lists = [randint(0, 4) for _ in range(n)]。要查找数字列表的均值/第一个样本矩:avg = sum(lists) / float(len(lists))。 -
你的变量名很混乱,比如有一个名为
lists的列表,一共叫mean,…… -
你的意思是你列表中某些元素的总和等于其他一些元素的总和,并且这两个组可能不相交吗?
-
@Lennart 是的,这就是我的意思。我知道这是一个令人困惑的问题。
-
另外,您的逻辑令人困惑。您的示例中的平均值是 1.5,而不是 2,但它是平衡的。那么,是什么让您认为如果平均值为 2,则元素是平衡的?
标签: python arrays python-3.3