Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
anpl
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ziyuan Nan
anpl
Commits
73b6e0e2
Commit
73b6e0e2
authored
May 11, 2023
by
nzy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update readme
parent
8d711bf8
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
13 deletions
+37
-13
readme.md
+37
-13
No files found.
readme.md
View file @
73b6e0e2
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment