【发布时间】:2018-06-06 19:41:56
【问题描述】:
我对为什么以下代码不起作用感到困惑。我的困惑在于退货和印刷品。我不知道如何将列表作为参数。在那之前,其他一切似乎都可以正常工作。
def while_mean(l):
sum = 0
length = float(len(l))
index = 0
while index < len(l):
sum = l[index] + sum
index = index + 1
return sum/length
def for_mean(l):
sum = 0
length = float(len(l))
for i in l:
sum = i + sum
mean = sum/length
return mean
def stats():
apd = ([])
nume = input("write a number:")
while nume != 'n':
apd.append(nume)
print apd
nume = input("write another number:")
return sum(apd)
return while_mean([apd])
print stats()
print while_mean([apd])
将 def stats 更改为:
def stats():
apd = ([])
nume = raw_input("write a number:")
while nume != 'n':
apd.append(float(nume))
print apd
nume = raw_input("write another number:")
return sum(apd)
print apd = ([])
print stats()
print while_mean(apd)
【问题讨论】:
-
您在哪些方面特别需要帮助?你需要帮助吗?
-
使用
l作为标识符是不好的做法。它看起来很像1,以至于您迟早要为困难的调试问题做好准备。另外,请注意[apd]是列表列表而不是数字列表。为什么要将apd(这已经是一个列表)包装在一个列表中? -
我修改了我的代码,之所以需要使用'n'而不是-1,是因为我的老师这么说:/。我的具体问题是,当我尝试将列表 apd 放入我的 while_mean() 调用的参数中时,它不会被视为变量。我说“列表作为参数”是因为我不知道使用列表作为参数是否存在问题。
标签: python python-2.7 function return arguments