A testcase generator for online judges.
Project description
OjTest - An auto-copied testcase generator for online judges.
Install pip3 install ojtest
Requirements : PyperClip
If you find this project helpful, star it!
Function
1. generate a random list consists of integer values and copy it to the clipboard
- rand_int_list
- rand_int_list_sorted
- rand_int_list_unique
- rand_int_list_sorted_unique
2. generate a random string and copy it to the clipboard
- rand_str
- rand_str_alphabetics
- rand_str_alphabetic_lower
- rand_str_alphabetic_capital
- rand_str_digital
3. generate a random tree and copy it to the clipboard
- rand_tree
Usage
1. get a N-ary tree of random integers
import ojtest as oj
import random
random.seed(42)
oj.rand_tree(3)
# or j.rand_tree(3, min_val=0, max_val=20)
# or j.rand_tree(3, min_val=0, max_val=20, n_ary=2)
# [6, 20, 14, 16, null, 19, 3, 20, null, 8, null, 9, 9]
"""
(6)
/ \
(20) (14)
/ / \
(16) (19) (3)
/ / / \
(20) (8) (9) (9)
"""
2. get a string consists of customized char sets(string format)
Default char set is alphabets
import ojtest as oj
import random
random.seed(42)
oj.rand_str(50)
# "GiwCkhgoCuKCOySWewyfgUDwPdZHLOQgESkMqVMaLWckpfVcuy"
oj.rand_str(length=50, char_set='QWERTYqwerty987654')
# "9RyyeW74R9E4ryqEWwrEwR9e7yYyyqeEY4wY79e4wtWwWt9eEq"
3. get a string consists of alphabets
import ojtest as oj
import random
random.seed(42)
oj.rand_str_alphabetic(50)
# or oj.rand_str_alphabetic(length=50)
# or oj.rand_str(50)
# "GiwCkhgoCuKCOySWewyfgUDwPdZHLOQgESkMqVMaLWckpfVcuy"
4. get a list consists of random integer values
By default, min value is 0, and max value is 100
import ojtest as oj
import random
random.seed(42)
oj.rand_int_list(10, 0, 100)
# or oj.rand_int_list(10) # default min_val = 0, max_val = 100
# or oj.rand_int_list(length=10, min_val=0, max_val=100)
# [81, 14, 3, 94, 35, 31, 28, 17, 94, 13]
5. get a list consists of sorted random integer values
By default, min value is 0, and max value is 100
import ojtest as oj
import random
random.seed(42)
oj.rand_int_list_sorted(10, 0, 100)
# or oj.rand_int_list_sorted(10)
# or oj.rand_int_list_sorted(length=10, min_val=0, max_val=100)
# [3, 13, 14, 17, 28, 31, 35, 81, 94, 94]
6. get a list consists of customized sorted random integer values
By default, min value is 0, and max value is 100
import ojtest as oj
from functools import cmp_to_key
import random
random.seed(42)
# decreasing sort
key = cmp_to_key(lambda x, y: y - x)
oj.rand_int_list_sorted(10, 0, 100, key = key)
# oj.rand_int_list_sorted(length=10, min_val=0, max_val=100, key = cmp_to_key(lambda x, y: y - x))
# [94, 94, 81, 35, 31, 28, 17, 14, 13, 3]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ojtest-0.0.3.7.tar.gz
(5.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ojtest-0.0.3.7.tar.gz.
File metadata
- Download URL: ojtest-0.0.3.7.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c5bc3d1432da138e729c42c7381fecb478fdf12f4c435c3cf948771f057b3d7
|
|
| MD5 |
ec227496dee2aefedfb5a3803501ca5e
|
|
| BLAKE2b-256 |
781dcb89b0c9244486df98dc385bb32440c19e6e18d22a9c014f1f73450cfe2d
|
File details
Details for the file ojtest-0.0.3.7-py3-none-any.whl.
File metadata
- Download URL: ojtest-0.0.3.7-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
746b7f3a07dcce75f04f97138234bde5ab4d4ef935b264a1dda1c33816216311
|
|
| MD5 |
64b042e50955fbef949936dc31c8a82d
|
|
| BLAKE2b-256 |
a9d0518b5c1a06c0a25e6a945356c04eb1e9a27276fb086c2dc4c896c392f74e
|