4

我正在尝试在 python 中对一组函数进行洗牌。我的代码是这样的:

import random

def func1():
    ...

def func2():
    ...

def func3():
    ...

x=[func1,func2,func3]
y=random.shuffle(x)

而且我认为它可能正在工作,问题是我在洗牌后不知道如何调用函数!

如果我在最后一行之后写“y”,它不会做任何事情!

谢谢

4

1 回答 1

14

首先,random.shuffle()在适当的位置打乱列表。它不返回洗牌列表,所以y = None. 这就是为什么当你输入它时它什么也不做y

要调用每个函数,您可以循环x调用每个函数,如下所示:

for function in x:
    function() # The parentheses call the function

最后,您的函数实际上会产生 SyntaxError。如果您希望他们什么都不做,请pass在它们的末尾添加。pass绝对什么都不做,并且放在 python 期望的地方。


总而言之:

def func1():
    pass

def func2():
    pass

def func3():
    pass

x = [func1, func2, func3]
random.shuffle(x)
for function in x:
    function()
于 2013-09-16T05:06:05.427 回答