是否可以在函数内部创建列表?我有一些命令想合并成一个新函数(运行时)。下面的代码可以正常工作并执行我希望它做的事情。我很难把它变成函数。在
import numpy as np
import random
numRounds = 10
numTimes = 5
finalList = []
# First Function
def runRounds(numberOfRounds):
for xRound in range(numberOfRounds):
if random.randint(0,100) >= 85:
firstList.append(1)
else:
firstList.append(0)
finalList.append(max(firstList))
# Run some # of times
for time in range(numTimes):
firstList = []
runRounds(numRounds)
print firstList
print finalList
我不能仅仅缩进代码来创建一个可用的函数。在下面的示例中,我尝试这样做,但它失败了,因为我猜想“firstList”从未真正定义过。我得到以下错误:
名称错误:未定义全局名称“firstList”
这是我代码的一个简短示例,但它说明了我的问题。我需要能够附加finalList,每次循环中从firstList派生出一个值。我的方法是在每次执行runRounds之前定义'firstList=[]',这样每次执行runRounds时firstList都是空的。但如果我试图在一个新函数中创建firstList,它将无法工作。我在下面的例子中尝试这个。我打赌有一个标准的方法来做我不知道的事情,我还是新来的-谢谢你的耐心。。。在
^{pr2}$
函数中创建的变量不是全局变量,因此您不能随时访问它们。在
这里有一些代码可以工作
当您运行
runRounds
时,您需要将列表作为参数传入,因为您没有在函数中创建任何列表。最后,您需要返回列表,以便以后可以访问它们。在对于},因为您正在函数中创建{}。你必须返回这两个以便以后可以访问
runTimes
,您需要传入之前创建的numRounds
变量和{相关问题 更多 >
编程相关推荐