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()