如何在python中为列表中的每个单词添加颜色,然后将其打印到窗口中?
我的代码是:
cognitivo = ["Plan","Organize","Help","liquidate","solvency","Prioritize","work","business","achievements","Control"]
for stimulus in cognitivo:
mens = visual.TextStim(win, text=stimulus)
mens.draw()
win.flip()
#core.wait(1.0)
只是复制列表,因为它是用for循环打印的,而不是复制我所做的所有代码...只打印一种颜色,我想要的是特定颜色的每个单词...请,有人能帮我吗?感谢。
答案 0 :(得分:1)
为了简化操作,您可能要做的是为每个试验创建一个字典,将所有与试验相关的信息保存在一个对象中(例如试验的文本和颜色)。这样就可以很容易地遍历这些词典列表并轻松访问试用值。查看PsychoPy TrialHandler
类,它将完成所有这些以及更多(包括保存数据)。
但只是为了适应您的简单代码段,请尝试以下方法:
cognitivo = ['Plan', 'Organize', 'Help', 'liquidate', 'solvency', 'Prioritize', 'work', 'business', 'achievements', 'Control']
# create some corresponding colours:
colors = ['red', 'green', 'yellow', 'blue', 'black'] * 2
# initialise the text stimulus just once:
mens = visual.TextStim(win, text = 'XXXXXX')
# loop through the stimuli:
for stimulus in cognitivo:
# update the stimulus:
mens.text = stimulus
mens.color = colors.pop()
# display for 1 second at 60 Hz:
for frame in range(60)
mens.draw()
win.flip()
请注意,一般情况下,您不应该继续重新创造刺激。通常,只需初始化一次,然后更新其属性。创建刺激通常比更新现有刺激花费更长的时间。