From 64bd6242fe324dd25af3cf0843fa0b3921938665 Mon Sep 17 00:00:00 2001 From: MUFFANUJ Date: Sat, 17 Feb 2024 04:21:03 +0530 Subject: [PATCH] Add Example for random input and output generation in tutorials Signed-off-by: MUFFANUJ --- .../config/config.json | 123 ++++++++++++++++++ .../config/instructor_solution/generator.py | 12 ++ .../config/instructor_solution/solution.py | 16 +++ .../test_input/custom_test_input_01.txt | 4 + .../test_input/custom_test_input_02.txt | 11 ++ .../submissions/correct_solution.py | 16 +++ 6 files changed, 182 insertions(+) create mode 100644 examples/19_random_input_output_python/config/config.json create mode 100644 examples/19_random_input_output_python/config/instructor_solution/generator.py create mode 100644 examples/19_random_input_output_python/config/instructor_solution/solution.py create mode 100644 examples/19_random_input_output_python/config/test_input/custom_test_input_01.txt create mode 100644 examples/19_random_input_output_python/config/test_input/custom_test_input_02.txt create mode 100644 examples/19_random_input_output_python/submissions/correct_solution.py diff --git a/examples/19_random_input_output_python/config/config.json b/examples/19_random_input_output_python/config/config.json new file mode 100644 index 0000000..00e7746 --- /dev/null +++ b/examples/19_random_input_output_python/config/config.json @@ -0,0 +1,123 @@ +{ + "required_capabilities": "python", + + "testcases" : [ + { + "title" : "Custom Input 01", + "details" : "python3 *.py custom_test_input_01.txt", + "command" : "python3 *.py custom_test_input_01.txt", + "solution_commands" : ["python3 solution.py custom_test_input_01.txt 1> output.txt"], + "points" : 5, + "hidden" : true, + "validation" : [ + { + "method" : "diff", + "actual_file" : "STDOUT.txt", + "description" : "Program Output", + "expected_file" : "output.txt" + } + ] + }, + { + "title" : "Custom Input 02", + "details" : "python3 *.py < custom_test_input_02.txt", + "command" : "python3 *.py < custom_test_input_02.txt", + "solution_commands" : ["python3 solution.py < custom_test_input_02.txt 1> output.txt"], + "points" : 5, + "hidden" : true, + "validation" : [ + { + "method" : "diff", + "actual_file" : "STDOUT.txt", + "description" : "Program Output", + "expected_file" : "output.txt" + } + ] + }, + { + "title" : "Random Input #1", + "input_generation_commands": [ + "python3 generator.py 1> randominput.txt" + ], + "command" : "python3 *.py < randominput.txt", + "solution_commands" : ["python3 solution.py < randominput.txt > output.txt"], + "points" : 4, + "validation" : [ + { + "method" : "diff", + "actual_file" : "STDOUT.txt", + "description" : "Program Output", + "expected_file" : "output.txt" + } + ] + }, + { + "title" : "Random Input #2", + "input_generation_commands": [ + "python3 generator.py 1> randominput.txt" + ], + "command" : "python3 *.py < randominput.txt", + "solution_commands" : ["python3 solution.py < randominput.txt > output.txt"], + "points" : 4, + "validation" : [ + { + "method" : "diff", + "actual_file" : "STDOUT.txt", + "description" : "Program Output", + "expected_file" : "output.txt" + } + ] + }, + { + "title" : "Random Input #3", + "input_generation_commands": [ + "python3 generator.py 1> randominput.txt" + ], + "command" : "python3 *.py < randominput.txt", + "solution_commands" : ["python3 solution.py < randominput.txt > output.txt"], + "points" : 4, + "validation" : [ + { + "method" : "diff", + "actual_file" : "STDOUT.txt", + "description" : "Program Output", + "expected_file" : "output.txt" + } + ] + }, + { + "title" : "Random Input #4", + "input_generation_commands": [ + "python3 generator.py 1> randominput.txt" + ], + "command" : "python3 *.py < randominput.txt", + "solution_commands" : ["python3 solution.py < randominput.txt > output.txt"], + "points" : 4, + "validation" : [ + { + "method" : "diff", + "actual_file" : "STDOUT.txt", + "description" : "Program Output", + "expected_file" : "output.txt" + } + ] + }, + { + "title" : "Random Input #5", + "input_generation_commands": [ + "python3 generator.py 1> randominput.txt" + ], + "command" : "python3 *.py < randominput.txt", + "solution_commands" : ["python3 solution.py < randominput.txt > output.txt"], + "points" : 4, + "validation" : [ + { + "method" : "diff", + "actual_file" : "STDOUT.txt", + "description" : "Program Output", + "expected_file" : "output.txt" + } + ] + } + ] +} diff --git a/examples/19_random_input_output_python/config/instructor_solution/generator.py b/examples/19_random_input_output_python/config/instructor_solution/generator.py new file mode 100644 index 0000000..eef8091 --- /dev/null +++ b/examples/19_random_input_output_python/config/instructor_solution/generator.py @@ -0,0 +1,12 @@ +import random + + +def generating_random_number(lower, upper): + return random.randint(lower, upper) + + +n = generating_random_number(1, 20) + +print(n) +for i in range(n): + print(generating_random_number(1, 100)) diff --git a/examples/19_random_input_output_python/config/instructor_solution/solution.py b/examples/19_random_input_output_python/config/instructor_solution/solution.py new file mode 100644 index 0000000..4eeed87 --- /dev/null +++ b/examples/19_random_input_output_python/config/instructor_solution/solution.py @@ -0,0 +1,16 @@ +def generate_total_sum(arr): + sum = 0 + for i in arr: + sum += i + + return sum + + +n = int(input()) +arr = [] + +for i in range(n): + ele = int(input()) + arr.append(ele) + +print(generate_total_sum(arr)) diff --git a/examples/19_random_input_output_python/config/test_input/custom_test_input_01.txt b/examples/19_random_input_output_python/config/test_input/custom_test_input_01.txt new file mode 100644 index 0000000..eb7ae72 --- /dev/null +++ b/examples/19_random_input_output_python/config/test_input/custom_test_input_01.txt @@ -0,0 +1,4 @@ +3 +53 +93 +71 diff --git a/examples/19_random_input_output_python/config/test_input/custom_test_input_02.txt b/examples/19_random_input_output_python/config/test_input/custom_test_input_02.txt new file mode 100644 index 0000000..c6653e9 --- /dev/null +++ b/examples/19_random_input_output_python/config/test_input/custom_test_input_02.txt @@ -0,0 +1,11 @@ +10 +72 +83 +22 +58 +70 +51 +74 +69 +9 +85 diff --git a/examples/19_random_input_output_python/submissions/correct_solution.py b/examples/19_random_input_output_python/submissions/correct_solution.py new file mode 100644 index 0000000..4eeed87 --- /dev/null +++ b/examples/19_random_input_output_python/submissions/correct_solution.py @@ -0,0 +1,16 @@ +def generate_total_sum(arr): + sum = 0 + for i in arr: + sum += i + + return sum + + +n = int(input()) +arr = [] + +for i in range(n): + ele = int(input()) + arr.append(ele) + +print(generate_total_sum(arr))