小编Ant*_* Vo的帖子

OpenAI Gym - AttributeError:模块“contextlib”没有属性“nullcontext”

当我尝试从 docker google 计算引擎上的 docker 容器运行命令时,我遇到了此错误。

这是堆栈跟踪:

Traceback (most recent call last):
  File "train.py", line 16, in <module>
    from stable_baselines.ppo1 import PPO1
  File "/home/selfplay/.local/lib/python3.6/site-packages/stable_baselines/__init__.py", line 3, in <module>
    from stable_baselines.a2c import A2C
  File "/home/selfplay/.local/lib/python3.6/site-packages/stable_baselines/a2c/__init__.py", line 1, in <module>
    from stable_baselines.a2c.a2c import A2C
  File "/home/selfplay/.local/lib/python3.6/site-packages/stable_baselines/a2c/a2c.py", line 3, in <module>
    import gym
  File "/home/selfplay/.local/lib/python3.6/site-packages/gym/__init__.py", line 13, in <module>
    from gym.envs import make, spec, register
  File "/home/selfplay/.local/lib/python3.6/site-packages/gym/envs/__init__.py", line 10, in <module>
    _load_env_plugins()
  File "/home/selfplay/.local/lib/python3.6/site-packages/gym/envs/registration.py", line 269, in load_env_plugins
    context = contextlib.nullcontext()
AttributeError: module …
Run Code Online (Sandbox Code Playgroud)

python pip virtual-machine google-compute-engine openai-gym

9
推荐指数
2
解决办法
9495
查看次数

初学者C++:将索引语法转换为迭代器语法

我正在尝试用一些Java背景学习C++,我正在尝试编写返回两个列表交集的代码.我相信我在概念上有正确的想法,但由于没有任何编译,我的语法有问题.

这是我提出的代码:

#include <iostream>
using namespace std;
#include <list>

template <typename Object>
list<Object> intersection( const list<Object> & L1, const list<Object> & L2){

  std::list<Object> result;                 
  int pos1 = 0;
  int pos2 = 0;

  while (pos1 < L1.size() && pos2 < L2.size()) {
    if (L1[pos1] > L1[pos2]) {
      pos1++;
    } else if (L2[pos2] > L1[pos1]) {
      pos2++;
    } else {
      result.push_back(L2[pos2]);
      pos1++;
      pos2++;
    }
  }
  return result;

}
Run Code Online (Sandbox Code Playgroud)

我认为我需要的东西:一个迭代器(我确定我访问列表的方式不正确)

c++ iterator intersection list

5
推荐指数
1
解决办法
457
查看次数