我正在尝试使用 Python 中的 random.sample 函数(特别是 Psychopy)从函数列表中随机抽样。这是我的代码:
from psychopy import visual, core, event, gui
import random
import string
win = visual.Window([800,600], monitor="testMonitor", units = "pix", color="white",fullscr=False)
def test1():
welcome = "blah1"
welcometext = visual.TextStim(win, text=welcome, wrapWidth=500, color="black")
welcometext.draw()
win.flip()
event.waitKeys()
def test2():
welcome = "blah2"
welcometext = visual.TextStim(win, text=welcome, wrapWidth=500, color="black")
welcometext.draw()
win.flip()
event.waitKeys()
def test3():
welcome = "blah3"
welcometext = visual.TextStim(win, text=welcome, wrapWidth=500, color="black")
welcometext.draw()
win.flip()
event.waitKeys()
mylist = [test1, test2, test3]
random_sample = random.sample(mylist,1)()
当我尝试运行此代码时,我得到:
TypeError: 'list' object is not callable
对于为什么 random.sample 在这里不起作用,我有点迷茫,所以非常感谢任何帮助。另外,作为旁注,如果我将最后一点代码更改为使用 random.choice,那么这个函数似乎工作得很好:
mylist = [test1, test2, test3]
random_choice = random.choice(mylist)()