2016-12-05 1 views
0

のユーザー入力(文字列)を取得するために使用waitKeysは私が年齢で検索しましたが、答えを見つけることができますのPython 2.7 - 指定した長さ

を学ぼうと、初心者の午前に注意してください私の問題に。 基本的には、画面にアルファベットの文字を表示しています。文字数は増分で増加します(5,7,9)。 私が必要とするのは、ループを一時停止し、ユーザーが見た文字を入力するのを待つことですが、これまでのコードではユーザーが1文字(またはキーを押す)ユーザーが指定した文字数を入力するまで待機させる方法を理解することはできません。私のコードは以下の通りです:

letter5.draw() 
win.flip() 
respClock.reset() 
core.wait(info['letterTime']) 

win.flip() 

#wait for response 
respList = waitKeys(maxWait = float('inf'), keyList = letters) 
keys = respList [0] 

whileループはここではうまくいくかもしれませんが、正しく動作するコードを思いついていないと思います。

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

答えて

0

は自分でそれを考え出したと私は共有したいと思った:

resp = '' 
done = False 
while len(resp) < 4: 
    respList = waitKeys(maxWait = float('inf'), keyList = alpha) 
    key = respList[0] 

    if len(key) == 1: 
     resp += key 
    elif key == 'space': 
     resp += '' 
    elif key == 'backspace' and len(resp) > 0: 
     resp = resp[0:-1] 
    if key == 'return': 
     done = True 
関連する問題