2017-02-18 7 views
0

これまでのところ、120種類の異なるTextStim(異なる色の単語)アイテムを「試行」というリストに修正しました。 。私はこれらの刺激を一つずつ提示するために「試行」を繰り返す。しかし、私が使用したループに沿って、このリストに順番に改訂されました。私は理想的には、それらが提示されるときにそれらをランダム化する必要があります。 私が試してみました:修正されたリストのTextStimのランダム化順序/ループ内の反復のインデックスを見つける(Psychopy)

輸入ランダム

トライアル= random.shuffle(治験)

が、私が得るすべてはTypeError例外である:「NoneType」オブジェクトが反復可能ではありませんが...私はそれが何かをしていると思いますリスト内の刺激のタイプが間違った変数タイプとして格納されているという事実と関係します。同じプレゼンテーションの試行番号(試行ではc:trialnum = len(c))を見つけようとするのと同じ理由で、試行番号を応答とともに保存することができます。この形式で反復可能です。基本的には、これら2つの問題は基本的に関連していると感じます。

助けていただければ幸いです。

ありがとうございました!

+0

「試行」を作成するコードを貼り付けてください。リストではなく、むしろ 'None'のように見えます。これを確認するためにシャッフルする直前に「試行」を印刷しようとしましたか? –

+0

試行= [] ... .... .... ..... .... の範囲内(0,15): 試用版(redcong) 試用版(blucong) trials.append(grecong) trials.append(yelcong) .... .... .... .... .... .... bの範囲(0、5): trials.append(redincongb) trials.append(redincongg) trials.append(redincongy) trials.append(bluincongr) trials.append(bluincongg) trials.append(bluincongy) trials.append(greincongr) trials.append(greincongb)(greelongy) trials.append(yelincongr) trials.append(yelincongb) trials.append(yelincongg) –

+0

。 redcongは刺激タイプであり、ループは各タイプの刺激のどれくらいが最終リストにあるかを指示する。 –

答えて

1

random.shuffle場所でシャッフルとは

random.shuffle(pairs) 

の代わりに、一般的なコメントとして

pairs = random.shuffle(pairs) 

Noneを(あなたがNoneTypeに関するエラーが出る理由です)を返し、そうするためです、あなたTextStimsをたくさん生成するのではなく、テストを実行するときに生成します。あなたがStroop実験などをしているようです。したがって、次のようなことをしてください:

# General setup 
import random 
from psychopy import visual, event 
win = visual.Window() 

# A TextStim and five of each word-color pairs 
stim = visual.TextStim(win) 
pairs = 5 * [('blue', 'blue'), ('red', 'blue'), ('green', 'yellow'), ('red','red')] 
random.shuffle(pairs) 

# Loop through these pairs 
for pair in pairs: 
    # Set text and color 
    stim.text = pair[0] 
    stim.color = pair[1] 

    # Show it and wait for answer 
    stim.draw() 
    win.flip() 
    event.waitKeys() 
+0

本当にありがとう!ラウンドを得ることについて何か知っていますか: SyntaxError:リテラルエラーメッセージに割り当てることができませんか?私は、キー自体がキーではなく、私がそれを割り当てようとするときの色をプリントアウトしようとしています....... 'f' = 'red' .......... .....そのエラーメッセージが表示されます。あなたの時間に感謝します –

+0

'f = 'red''を実行してください。文字列に値を代入することはできません。それを変数に割り当てます。 –

関連する問題