]> vgcfreebox.myrthtech.pt Git - ue-pp-sortingalgorith.git/blob - generate_input.py
grooming repo
[ue-pp-sortingalgorith.git] / generate_input.py
1 import random
2 import sys
3 import os
4
5 def generate_random_file(count, filename, min_val=-100000, max_val=100000):
6 """
7 Generates a text file containing 'count' number of random signed integers.
8 Args:
9 count (int): The number of integers to generate.
10 filename (str): The name of the output file.
11 min_val (int): The minimum random value allowed.
12 max_val (int): The maximum random value allowed.
13 """
14 print(f"--- File Generation Initiated ---")
15 print(f"Target File: {filename}")
16 print(f"Total Records: {count}")
17 print(f"Range: [{min_val}, {max_val}]")
18
19 try:
20 with open(filename, 'w') as f:
21 for i in range(count):
22 # Generate a random integer within the specified range
23 random_number = random.randint(min_val, max_val)
24
25 # Write the number followed by a newline
26 f.write(f"{random_number}\n")
27
28 print("\n[SUCCESS] File generated successfully!")
29 print(f"Check the contents of '{filename}'")
30
31 except Exception as e:
32 print(f"\n[ERROR] An error occurred during file writing: {e}")
33
34 if __name__ == "__main__":
35 # Usage Check and Argument Parsing
36
37 if len(sys.argv) < 3:
38 print("Usage: python generate_input.py <COUNT> <OUTPUT_FILENAME> [MIN_VALUE] [MAX_VALUE]")
39 sys.exit(1)
40
41 try:
42 # Required Arguments
43 count = int(sys.argv[1])
44 filename = sys.argv[2]
45
46 # Optional Arguments (Range)
47 min_val = -10000
48 max_val = 10000
49
50 if len(sys.argv) >= 4:
51 min_val = int(sys.argv[3])
52 if len(sys.argv) == 5:
53 max_val = int(sys.argv[4])
54
55 generate_random_file(count, filename, min_val, max_val)
56
57 except ValueError:
58 print("\n[ERROR] Count, Min Value, and Max Value must be valid integers.")
59 sys.exit(1)