From ede1de68e3b13e190231492e17ed4ce9c847fa36 Mon Sep 17 00:00:00 2001 From: Ilya Date: Wed, 28 Feb 2024 12:07:07 +0300 Subject: [PATCH] Fix issues, add readme --- README.md | 22 ++++++++++++++++++++++ main.py | 12 +++++++----- 2 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..df0d846 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# Коллекция скриптов для ТВиМС + +Запускать `main.py` + +Пример: +```bash +./main.py --help +``` + +### random_table +Генерирует массив случайных чисел, создаёт таблицу Word и список для вставки в скрипт Python. + +Генерировать массив из 200 случайных целых чисел, размер таблицы Word 20x10. +```bash +./main.py random_table +``` + +Генерировать массив из 17 случайных вещественных чисел от -5 до 5 включительно, +таблицу разбить на 10 столбцов +```bash +./main.py random_table --rtype float --min -5 --max 5 --cols 5 --count 17 +``` diff --git a/main.py b/main.py index ddf83f9..378113f 100755 --- a/main.py +++ b/main.py @@ -29,16 +29,16 @@ def cli(): default="./result/table.docx") @click.option("--py", type=click.Path(dir_okay=False, writable=True, resolve_path=True, allow_dash=True), default="./result/table.py") -@click.argument("size", type=int, default=200) -def random_table(rtype, seed, prec, min, max, cols, docx, py, size): +@click.option("--count", type=int, default=200) +def random_table(rtype, seed, prec, min, max, cols, docx, py, count): random.seed(seed) - rows = size // cols - if size % cols > 0: + rows = count // cols + if count % cols > 0: rows += 1 rfunc = RFUNC[rtype] - array = [round(rfunc(min, max), prec) for _ in range(size)] + array = [round(rfunc(min, max), prec) for _ in range(count)] with click.open_file(py, "w") as f: print(array, file=f) @@ -48,6 +48,8 @@ def random_table(rtype, seed, prec, min, max, cols, docx, py, size): n = 0 for i in range(rows): for j in range(cols): + if n >= count: + break table.rows[i].cells[j].text = str(array[n]) n += 1