(env, policy, gamma = 1.0, render = False)
return total_reward
Evaluates policy by using it to run an episode and finding its
    total reward.

    args:
    env: gym environment.
    policy: the policy to be used.
    gamma: discount factor.
    render: boolean to turn rendering on/off.

    returns:
    total reward: real value of the total reward recieved by agent under policy.
Evaluates policy by using it to run an episode and finding its
    total reward.
Evaluates policy by using it to run an episode and finding its total reward .
def run_episode(env, policy, gamma = 1.0, render = False):
    """ Evaluates policy by using it to run an episode and finding its
    total reward.

    args:
    env: gym environment.
    policy: the policy to be used.
    gamma: discount factor.
    render: boolean to turn rendering on/off.

    returns:
    total reward: real value of the total reward recieved by agent under policy.
    """
    obs = env.reset()
    total_reward = 0
    step_idx = 0
    while True:
        if render:
            env.render()
        obs, reward, done , _ = env.step(int(policy[obs]))
        total_reward += (gamma ** step_idx * reward)
        step_idx += 1
        if done:
            break
    return total_reward
def run_episode ( env , policy , gamma = 1.0 , render = False ) : obs = env . reset ( ) total_reward = 0 step_idx = 0 while True : if render : env . render ( ) obs , reward , done , _ = env . step ( int ( policy [ obs ] ) ) total_reward += ( gamma ** step_idx * reward ) step_idx += 1 if done : break return total_reward