我正在生成一个包含 100 个数字的随机列表,这些数字可以是 1 到 20。 我正在使用如下代码建议的列表理解方法生成列表。
我创建了第一个函数,基本上是在其中创建列表。该列表按预期创建!
import random
v = []
def generate_v():
v = [random.randint(0,100) for i in range(0,100)]
return v
print(generate_v())
def avg_v():
return sum(v)/len(v)
print(avg(v))
但是如果我执行另一个函数,其中我需要我生成的列表的长度,它会让我给出错误,说我不能被零除。基本上它假设我创建的列表没有任何长度
请您参考如下方法:
print(generate_v()) 调用该函数,打印其结果并丢弃该结果。函数内部的v与外部的v无关。
更好的方法是
import random
def generate_v():
v = [random.randint(0,100) for i in range(0,100)]
return v
def sum_v(v):
return sum(v)/len(v)
# now the code:
v = generate_v()
print(v)
print(sum(v))
print(sum_v(v))
