我正在尝试在 python 中对一组函数进行洗牌。我的代码是这样的:
import random
def func1():
...
def func2():
...
def func3():
...
x=[func1,func2,func3]
y=random.shuffle(x)
而且我认为它可能正在工作,问题是我在洗牌后不知道如何调用函数!
如果我在最后一行之后写“y”,它不会做任何事情!
谢谢
我正在尝试在 python 中对一组函数进行洗牌。我的代码是这样的:
import random
def func1():
...
def func2():
...
def func3():
...
x=[func1,func2,func3]
y=random.shuffle(x)
而且我认为它可能正在工作,问题是我在洗牌后不知道如何调用函数!
如果我在最后一行之后写“y”,它不会做任何事情!
谢谢
首先,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()