首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PsychoPy:记录用户输入字符串

PsychoPy:记录用户输入字符串
EN

Stack Overflow用户
提问于 2015-01-05 00:17:58
回答 1查看 317关注 0票数 1

我有一个PsychoPy例程,用于作为内存对象跨度测试。在一个循环中,该软件多次显示一个对象(一个文本字符),然后是一个用户任务。该软件记得字符串的字符,然后要求用户输入的字符,因为他们的出现。这个序列(任务循环,然后是字符召回)本身在一个较大的循环中显示了几次。

人物都是随机选择的。

我想在PsychoPy生成的CSV文件或某种类型的日志文件中记录用户要输入的字符。如何在PsychoPy图形界面系统中做到这一点?

用于记录字符序列的代码块是:

开始例程

代码语言:javascript
复制
givenAnswer = ""
returnPressed = False

R_memPrompt.setText("Please enter characters in the order they were presented, then hit 'Return':") 
R_memPrompt.draw()
win.flip()

每帧

loopTest = True userInput = "“

代码语言:javascript
复制
if returnPressed == False:
    while loopTest == True:
        response = event.waitKeys(keyList=['a','b','c','d','e','f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'return', 'backspace', 'left'])
        if response[0] == 'return':
            loopTest = False
            returnPressed = True
            continueRoutine = False
        elif response[0] == 'backspace':
            userInput = userInput[:-1]
            userInput = userInput.upper()
            R_disp.setText(userInput)
            R_disp.draw()
            win.flip()
        else:
            userInput = userInput + response[0]
            userInput = userInput.upper()
            R_disp.setText(userInput)
            R_disp.draw()
            win.flip()

端例程

代码语言:javascript
复制
givenAnswer = givenAnswer + userInput

一个稍后的例程,正如它的开始例程

代码语言:javascript
复制
if memorySequence == givenAnswer:  # memorySequence is the prior record of memory characters
    #  do some stuff
else:
    #  do some other stuff

粗糙(它是一个原型),但是每个框架部分的目的只是通过R_disp文本刺激将字符写到屏幕上,同时允许用户备份空间,而不必担心大小写是否敏感。最后的答案将在givenAnswer,中结束,并与先前构建的memorySequence进行比较。

我希望将这些变量( memorySequencegivenAnswer )的内容转储到CSV文件或一些日志文件中,这样就不会丢失信息。

有办法这样做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-05 04:44:17

当然。在代码组件的“结束例程”选项卡中,放置如下内容:

代码语言:javascript
复制
thisExp.addData("sequence", memorySequence)
thisExp.addData("answer", givenAnswer)

这将向您的数据文件中添加两个新列,其中包含您在引号中输入的任何文字值的列标题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27771826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档