2017-11-05 20 views
1

openai-gymでランダムにpacmanを実行するための小さなプログラムを書きました。しかし、その行動は厄介なことに、if条件の下で実行されている文は1つだけです。ゲームはレンダリングされません(env.reset()が実行されていない可能性があるため)。一部の文はif条件で実行されず、一部は実行されません

import gym 

episode = 0 
#episode_reward = 0 
#running_reward = None 
env = gym.make("MsPacman-v0") 
env.reset() 


while True: 
    env.render() 
    action = env.action_space.sample() 
    #print (action) 
    _, __, done, ___ = env.step(action) 
    #print(reward) 
    #episode_reward += reward 

    if done: 
     print('Game over')    #Why is this line not printed 
     episode = episode + 1   #Why is episode not getting updated 
     #running_reward = episode_reward if running_reward is None else running_reward * 0.99 + episode_reward * 0.01 
     #print('Episode %d, episode reward total was %f. running mean: %f' % (episode, episode_reward, running_reward)) 
     print('Episode, ', episode)  #Only this line is printed on screen 
     #episode_reward = 0 
     env.reset() 

私はちょっと愚かな間違いをしたくないと思っています。

+0

はい、まったく同じコードです。私はpython 2.7.13 –

+0

[スクリーンショットにリンク](https://i.imgur.com/PqIQO0S.png)を使用しています。これがより信じられそうになることを願っています。 –

+0

@PrabhatDoongarwalディレクトリ内に '.pyc'ファイルがいくつかある可能性はありますか?実際には以前のバージョンのスクリプトを実行していますか?代わりに、 '(Episode、 '0')'出力が 'env.action_space.sample()'か 'env.step(action)'のどちらかから来る可能性はありますか? – Paul

答えて

1

議論in chatに基づいて、視覚的に連続した見るためにブロックをリードした、あなたのファイルがそれにタブとスペースの混合物を持っていたようですが、二つの別々のブロック(1つとして解釈ifブロックとその中の1ブロック)。

どうやらwhileループは、タブでインデントされているので、これはですが、ないを行いifブロックの最後の部分はprint文がのみスペースを使用しています。だから、行く:

\t___if done: 
\t___....print('Game over') 
\t___....episode = episode + 1 
........print('Episode ', episode) 
........env.reset()  

だから、これはと等価であると解釈されている:おそらく

if done: 
    # Start of block 
    print('Game over')    #Why is this line not printed 
    episode = episode + 1   #Why is episode not getting updated 
    # End of block 

print('Episode, ', episode)  #Only this line is printed on screen 
#episode_reward = 0 
env.reset() 

PythonのアナログUnderhanded C competitionに今までにあるかどう心に留めておくために何かを。

2

コードにタブとスペースが混在しています。 (投稿の下の「編集」をクリックしてエディタにテキストをコピーすることで確認しました)

すべてのタブをスペースで置き換えてください。

enter image description here

関連する問題