Spaces:
Runtime error
Runtime error
def get_user_input(): | |
"""Gets the LP problem details from the user.""" | |
# (Identical to the input function in the previous Dual Simplex example) | |
print("Enter the Linear Programming Problem:") | |
while True: | |
obj_type = input("Is it a 'max' or 'min' problem? ").strip().lower() | |
if obj_type in ['max', 'min']: | |
break | |
print("Invalid input. Please enter 'max' or 'min'.") | |
c_str = input("Enter objective function coefficients (space-separated): ").strip() | |
c = list(map(float, c_str.split())) | |
num_vars = len(c) | |
A = [] | |
relations = [] | |
b = [] | |
i = 1 | |
print(f"Enter constraints (one per line). There are {num_vars} variables (x1, x2,...).") | |
print("Format: coeff1 coeff2 ... relation rhs (e.g., '3 1 >= 3')") | |
print("Type 'done' when finished.") | |
while True: | |
line = input(f"Constraint {i}: ").strip() | |
if line.lower() == 'done': | |
if i == 1: | |
print("Error: At least one constraint is required.") | |
continue | |
break | |
parts = line.split() | |
if len(parts) != num_vars + 2: | |
print(f"Error: Expected {num_vars} coefficients, 1 relation, and 1 RHS value.") | |
continue | |
try: | |
coeffs = list(map(float, parts[:num_vars])) | |
relation = parts[num_vars] | |
rhs = float(parts[num_vars + 1]) | |
if relation not in ['<=', '>=', '=']: | |
print("Error: Invalid relation symbol. Use '<=', '>=', or '='.") | |
continue | |
A.append(coeffs) | |
relations.append(relation) | |
b.append(rhs) | |
i += 1 | |
except ValueError: | |
print("Error: Invalid number format for coefficients or RHS.") | |
continue | |
return obj_type, c, A, relations, b | |