Question 03 of 03

Custom Duplicate Numbers Exception

Write a Python program that reads a list of integers from the user and throws a custom exception if any numbers are duplicates.

C++
# Define Custom User-Defined Exception
class DuplicateNumberError(Exception):
    """Exception raised when duplicate numbers are found in the list."""
    def __init__(self, duplicate_value, message="Duplicate numbers are not allowed"):
        self.duplicate_value = duplicate_value
        self.message = f"{message}! Found duplicate element: {duplicate_value}"
        super().__init__(self.message)

def validate_unique_integers(int_list):
    seen = set()
    for num in int_list:
        if num in seen:
            raise DuplicateNumberError(num)
        seen.add(num)
    return True

def main():
    print("--- DUPLICATE NUMBER VALIDATOR ---")
    user_input = input("Enter space-separated integers (e.g., 10 20 30 40): ")
    
    try:
        numbers = [int(x) for x in user_input.strip().split()]
        print(f"Input List: {numbers}")
        
        validate_unique_integers(numbers)
        print("SUCCESS: All integers in the list are distinct and unique!")
        
    except ValueError:
        print("Error: Input contains non-integer elements.")
    except DuplicateNumberError as dne:
        print(f"\n[CUSTOM EXCEPTION TRIGGERED]")
        print(f"Exception Message: {dne}")

if __name__ == "__main__":
    main()
Question 3 of 3