Commit 73b6e0e2 by nzy

update readme

parent 8d711bf8
...@@ -4,18 +4,15 @@ LARC地址: https://github.com/samacqua/LARC ...@@ -4,18 +4,15 @@ LARC地址: https://github.com/samacqua/LARC
## requirements ## requirements
本项目需要`Python >= 3.9`(因为用到了ast.unparse, 辛苦大家装一下环境 TAT) 本项目需要`Python >= 3.10`(因为用到了ast.unparse, 辛苦大家装一下环境 TAT)
你可以通过运行`pip install -r requirements.txt`安装环境。 你可以通过运行`pip install -r requirements.txt`安装环境。
代码依赖于三个库 代码依赖于三个库
- numpy: grid处理 - numpy: grid处理
- rich: 漂亮的命令行 - rich: 漂亮的命令行,神秘bug产生器
- openai: 连接ChatGPT - openai: 连接ChatGPT
为了成功连接openai,需要在**良好的网络环境**下进行。 为了成功连接openai,需要在**良好的网络环境**下进行。
openai_key复制到key.txt中即可。 openai_key复制到key.txt中即可。
如果使用服务器上的代理,在相应命令前加上用`~/proxy`即可,如`~/proxy python xxx.py`
请在代码目录下新建一个空文件夹log。
## robotA ## robotA
...@@ -33,7 +30,6 @@ def main(input_grid: np.ndarray) -> np.ndarray: ...@@ -33,7 +30,6 @@ def main(input_grid: np.ndarray) -> np.ndarray:
In the input, you should see a 6x3 grid with black and blue pixels. There is a pattern that repeats itself from top to bottom. In the input, you should see a 6x3 grid with black and blue pixels. There is a pattern that repeats itself from top to bottom.
""" """
repeating_unit = `find the smallest repeating unit`(input_grid) repeating_unit = `find the smallest repeating unit`(input_grid)
output_grid = np.empty((9, 3), dtype=input_grid.dtype)
output_grid = `copy the repeating unit to fill the grid from top to down`(repeating_unit) output_grid = `copy the repeating unit to fill the grid from top to down`(repeating_unit)
output_grid = `replace blue pixels with red`(output_grid) output_grid = `replace blue pixels with red`(output_grid)
return output_grid return output_grid
...@@ -57,10 +53,6 @@ robot会自动寻找所有的hole,并尝试将hole转变为函数。 ...@@ -57,10 +53,6 @@ robot会自动寻找所有的hole,并尝试将hole转变为函数。
以及请不要使用其他特性,比如import其他库,定义class之类的。太复杂了,写不过来了😥。 以及请不要使用其他特性,比如import其他库,定义class之类的。太复杂了,写不过来了😥。
### Warning: Broken Change
一个与开会中讲的不同的地方:开会时提到了namedtuple,注意现在已经被废弃了!请使用python自带的元组和字典吧。
### ANPL Robot ### ANPL Robot
运行 `python robotA.py`,即可开始。 运行 `python robotA.py`,即可开始。
...@@ -76,9 +68,41 @@ robotA主要有4种命令(比开会说的新增了一种!) ...@@ -76,9 +68,41 @@ robotA主要有4种命令(比开会说的新增了一种!)
### 我想做... ### 我想做...
- 如果想修改自然语言描述怎么办?请edit对应的函数。可以不写函数体,但是必须写docstring。 #### 如果想修改自然语言描述怎么办?
- 函数名就不对怎么办?没办法,GG。
- 我已经有许多正确的子函数了,突然发现最开始的main函数写错了怎么办?直接edit main函数,在edit结束之前,系统不会删除任何已经生成的函数。 选择你想修改的函数,比如你想修改do_something,你可以直接edit do_something,并直接输入以下anpl code。
```python
def do_something():
"I want to change the meaning of do something, I want to do anything!"
```
edit函数时,可以不写函数体,但是必须写docstring。
### 我已经有许多正确的子函数了,突然发现最开始的main函数写错了怎么办?
直接edit main函数,在edit结束之前,系统不会删除任何已经生成的函数。
比如,你已经有代码
```python
def funA():
...
def funB():
...
def main():
a = funA()
b = funB()
return a + b
```
此时可以直接edit main函数,改为
```python
def main():
a = funA()
return a
```
此时funA会直接使用之前的funA。由于没有任何函数依赖于funB,所以funB将会被移除。
## robotB ## robotB
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment