### 1. 설치 방법
```
pip install tcmaker
```
### 2. 데이터 형식 지정 예시
실행 폴더에 `format.txt`파일이 있어야 합니다. 이 파일에는 데이터의 형식을 지정합니다.
```format.txt
[Var]
n: 1~100
x: -1000~1000
m: 1~n
y: 0~1
[Format]
n m
drept(n,x,' ')
rept(m,y,'\n')
```
여기서 `rept(반복횟수,변수명,구분자)` 명령이 있습니다. `drept`명령은 사용법은 동일한데 데이터의 중복없이 반복하는 명령입니다. 값의 범위는 변수 정의에 따릅니다.
위 명령으로 생성되는 데이터의 예시
```
5 4
-12 123 2 -982
0
1
1
0
```
### 3. 실행 방법 예시
아래와 같은 파일을 만들어서 실행합니다.
```
import tcmaker
start_n = 1 # 데이터 시작 번호
end_n = 10 # 데이터 끝 번호
for i in range(start_n, end_n+1):
format_file = 'format.txt' # 데이터 형식 지정 파일명
input_file = f'test{i:02d}.in' # 만들 입력 파일명
output_file = f'test{i:02d}.out' # 만들 출력 파일명
run_file = 'solve.py' # 정답 코드 파일명
terminal = 'PowerShell' # 터미널 종류(PowerShell 또는 아무거나)
tcm = tcmaker.tcmaker()
tcm.generate(format_file, input_file, output_file, run_file, terminal)
```
### 4. 기타
아직 부족한 점이 많습니다. 변수명 정의 또는 `rept`명령에 변수와 수식 혼용 사용가능합니다. 차차 업데이트하도록 하겠습니다.
Raw data
{
"_id": null,
"home_page": "https://github.com/csvega/tcmaker",
"name": "tcmaker",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "testcase, online judge, OJ, hustoj",
"author": "csvega",
"author_email": "vega4792@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/8e/57/0d6e001a9e60d0f2252bbb3b3bb3e665710dfd1e523e7d27f4a3a0df5d42/tcmaker-0.0.7.tar.gz",
"platform": null,
"description": "### 1. \uc124\uce58 \ubc29\ubc95\r\n```\r\npip install tcmaker\r\n```\r\n\r\n### 2. \ub370\uc774\ud130 \ud615\uc2dd \uc9c0\uc815 \uc608\uc2dc\r\n\uc2e4\ud589 \ud3f4\ub354\uc5d0 `format.txt`\ud30c\uc77c\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4. \uc774 \ud30c\uc77c\uc5d0\ub294 \ub370\uc774\ud130\uc758 \ud615\uc2dd\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4.\r\n\r\n```format.txt\r\n[Var]\r\nn: 1~100\r\nx: -1000~1000\r\nm: 1~n\r\ny: 0~1\r\n\r\n[Format]\r\nn m\r\ndrept(n,x,' ')\r\nrept(m,y,'\\n')\r\n```\r\n\uc5ec\uae30\uc11c `rept(\ubc18\ubcf5\ud69f\uc218,\ubcc0\uc218\uba85,\uad6c\ubd84\uc790)` \uba85\ub839\uc774 \uc788\uc2b5\ub2c8\ub2e4. `drept`\uba85\ub839\uc740 \uc0ac\uc6a9\ubc95\uc740 \ub3d9\uc77c\ud55c\ub370 \ub370\uc774\ud130\uc758 \uc911\ubcf5\uc5c6\uc774 \ubc18\ubcf5\ud558\ub294 \uba85\ub839\uc785\ub2c8\ub2e4. \uac12\uc758 \ubc94\uc704\ub294 \ubcc0\uc218 \uc815\uc758\uc5d0 \ub530\ub985\ub2c8\ub2e4.\r\n\r\n\uc704 \uba85\ub839\uc73c\ub85c \uc0dd\uc131\ub418\ub294 \ub370\uc774\ud130\uc758 \uc608\uc2dc\r\n```\r\n5 4\r\n-12 123 2 -982\r\n0\r\n1\r\n1\r\n0\r\n```\r\n\r\n### 3. \uc2e4\ud589 \ubc29\ubc95 \uc608\uc2dc\r\n\uc544\ub798\uc640 \uac19\uc740 \ud30c\uc77c\uc744 \ub9cc\ub4e4\uc5b4\uc11c \uc2e4\ud589\ud569\ub2c8\ub2e4.\r\n```\r\nimport tcmaker\r\n\r\nstart_n = 1 # \ub370\uc774\ud130 \uc2dc\uc791 \ubc88\ud638\r\nend_n = 10 # \ub370\uc774\ud130 \ub05d \ubc88\ud638\r\n\r\nfor i in range(start_n, end_n+1):\r\n format_file = 'format.txt' # \ub370\uc774\ud130 \ud615\uc2dd \uc9c0\uc815 \ud30c\uc77c\uba85\r\n input_file = f'test{i:02d}.in' # \ub9cc\ub4e4 \uc785\ub825 \ud30c\uc77c\uba85\r\n output_file = f'test{i:02d}.out' # \ub9cc\ub4e4 \ucd9c\ub825 \ud30c\uc77c\uba85\r\n run_file = 'solve.py' # \uc815\ub2f5 \ucf54\ub4dc \ud30c\uc77c\uba85\r\n terminal = 'PowerShell' # \ud130\ubbf8\ub110 \uc885\ub958(PowerShell \ub610\ub294 \uc544\ubb34\uac70\ub098)\r\n\r\n tcm = tcmaker.tcmaker()\r\n tcm.generate(format_file, input_file, output_file, run_file, terminal)\r\n```\r\n\r\n### 4. \uae30\ud0c0\r\n\uc544\uc9c1 \ubd80\uc871\ud55c \uc810\uc774 \ub9ce\uc2b5\ub2c8\ub2e4. \ubcc0\uc218\uba85 \uc815\uc758 \ub610\ub294 `rept`\uba85\ub839\uc5d0 \ubcc0\uc218\uc640 \uc218\uc2dd \ud63c\uc6a9 \uc0ac\uc6a9\uac00\ub2a5\ud569\ub2c8\ub2e4. \ucc28\ucc28 \uc5c5\ub370\uc774\ud2b8\ud558\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.\r\n",
"bugtrack_url": null,
"license": null,
"summary": "testcase maker for online judge",
"version": "0.0.7",
"project_urls": {
"Homepage": "https://github.com/csvega/tcmaker"
},
"split_keywords": [
"testcase",
" online judge",
" oj",
" hustoj"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0771d490a81a3db099d70177e2d17210a60b5a23a80384fed75836e99ece7150",
"md5": "ca4f36af2252fbbfb61642afcbdd3282",
"sha256": "3961a7ce726c9d47124f088ca1d43cacfe03b4fe9eda25725592c7d193d8dee1"
},
"downloads": -1,
"filename": "tcmaker-0.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ca4f36af2252fbbfb61642afcbdd3282",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 4280,
"upload_time": "2025-01-26T13:40:31",
"upload_time_iso_8601": "2025-01-26T13:40:31.486182Z",
"url": "https://files.pythonhosted.org/packages/07/71/d490a81a3db099d70177e2d17210a60b5a23a80384fed75836e99ece7150/tcmaker-0.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8e570d6e001a9e60d0f2252bbb3b3bb3e665710dfd1e523e7d27f4a3a0df5d42",
"md5": "0418de473d6343339f95ea9a689ae387",
"sha256": "f240d0328bbb52647acb53cece6904db831190b339f600e5c8737e868788e455"
},
"downloads": -1,
"filename": "tcmaker-0.0.7.tar.gz",
"has_sig": false,
"md5_digest": "0418de473d6343339f95ea9a689ae387",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 3634,
"upload_time": "2025-01-26T13:40:33",
"upload_time_iso_8601": "2025-01-26T13:40:33.534589Z",
"url": "https://files.pythonhosted.org/packages/8e/57/0d6e001a9e60d0f2252bbb3b3bb3e665710dfd1e523e7d27f4a3a0df5d42/tcmaker-0.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-26 13:40:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "csvega",
"github_project": "tcmaker",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "tcmaker"
}