前提・実現したいこと
キー入力による条件分岐
発生している問題・エラーメッセージ
実行はするのですが、すべてelseの方に飛びます。
該当ソースコード
python
1(前略) 2key_resp_2 = keyboard.Keyboard() 3 4(変更部分) 5『 6text_5 = visual.TextStim(win=win, name='text_5', 7 text=test5, 8 font='Open Sans', 9 pos=(0, 0), height=0.1, wrapWidth=None, ori=0.0, 10 color='white', colorSpace='rgb', opacity=None, 11 languageStyle='LTR', 12 depth=-6.0); 13 』 14 15(略) 16 17key_resp_2.keys=[] 18key_resp_2.rt = [] 19_key_resp_2_allKeys = [] 20 21 # *key_resp_2* updates 22 waitOnFlip = False 23 if key_resp_2.status == NOT_STARTED and tThisFlip >= 5.0-frameTolerance: 24 # keep track of start time/frame for later 25 key_resp_2.frameNStart = frameN # exact frame index 26 key_resp_2.tStart = t # local t and not account for scr refresh 27 key_resp_2.tStartRefresh = tThisFlipGlobal # on global time 28 win.timeOnFlip(key_resp_2, 'tStartRefresh') # time at next scr refresh 29 key_resp_2.status = STARTED 30 # keyboard checking is just starting 31 waitOnFlip = True 32 win.callOnFlip(key_resp_2.clock.reset) # t=0 on next screen flip 33 win.callOnFlip(key_resp_2.clearEvents, eventType='keyboard') # clear events on next screen flip 34 if key_resp_2.status == STARTED: 35 # is it time to stop? (based on global clock, using actual start) 36 if tThisFlipGlobal > key_resp_2.tStartRefresh + 3.0-frameTolerance: 37 # keep track of stop time/frame for later 38 key_resp_2.tStop = t # not accounting for scr refresh 39 key_resp_2.frameNStop = frameN # exact frame index 40 win.timeOnFlip(key_resp_2, 'tStopRefresh') # time at next scr refresh 41 key_resp_2.status = FINISHED 42 if key_resp_2.status == STARTED and not waitOnFlip: 43 theseKeys = key_resp_2.getKeys(keyList=['f', 'j'], waitRelease=False) 44 _key_resp_2_allKeys.extend(theseKeys) 45 if len(_key_resp_2_allKeys): 46 key_resp_2.keys = _key_resp_2_allKeys[-1].name # just the last key pressed 47 key_resp_2.rt = _key_resp_2_allKeys[-1].rt 48 49(変更部分) 50『 51 if key_resp_2.keys == 'f': 52 test5='あたり' 53 else: 54 test5='ハズレ' 55 56 57if text_5.status == NOT_STARTED and tThisFlip >= 8.0-frameTolerance: 58 # keep track of start time/frame for later 59 text_5.frameNStart = frameN # exact frame index 60 text_5.tStart = t # local t and not account for scr refresh 61 text_5.tStartRefresh = tThisFlipGlobal # on global time 62 win.timeOnFlip(text_5, 'tStartRefresh') # time at next scr refresh 63 text_5.setAutoDraw(True) 64 if text_5.status == STARTED: 65 # is it time to stop? (based on global clock, using actual start) 66 if tThisFlipGlobal > text_5.tStartRefresh + 1.0-frameTolerance: 67 # keep track of stop time/frame for later 68 text_5.tStop = t # not accounting for scr refresh 69 text_5.frameNStop = frameN # exact frame index 70 win.timeOnFlip(text_5, 'tStopRefresh') # time at next scr refresh 71 text_5.setAutoDraw(False) 72 』 73 (略) 74 75if key_resp_2.keys in ['', [], None]: # No response was made 76 key_resp_2.keys = None 77thisExp.addData('key_resp_2.keys',key_resp_2.keys) 78if key_resp_2.keys != None: # we had a response 79 thisExp.addData('key_resp_2.rt', key_resp_2.rt) 80thisExp.addData('key_resp_2.started', key_resp_2.tStartRefresh) 81thisExp.addData('key_resp_2.stopped', key_resp_2.tStopRefresh) 82
試したこと
fを入力すると当たりという文字を表記したいのですが、ハズレという文字しか表記されません。
補足情報(FW/ツールのバージョンなど)
ある課題の一部分です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。