import re


def is_hyper_scientific(number):
    """ Determines if an answer is hyper-scientific
    Args:
        number (String)
    Returns:
        bool: True if is hyper-scientific, False otherwise
    Example:
    >>> is_hyper_scientific("1.00e2")
    True
    >>> is_hyper_scientific("100")
    False
    >>> is_hyper_scientific("1.234e5")
    False
    """
    if convert_to_scientific_notation(float(number)) == number:
        return True
    return False


def convert_to_scientific_notation(number):
    """ Converts a number to scientific notation
    Args:
         number (float)

    Returns:
         String

    Example:
    >>> convert_to_scientific_notation(5)
    '5.00e0'
    >>> convert_to_scientific_notation(10)
    '1.00e1'
    >>> convert_to_scientific_notation(-100)
    '-1.00e2'
    >>> convert_to_scientific_notation(0.01)
    '1.00e-2'
    """

    pattern = r"\d\.\d{2}e\d{1,}"

    if re.search(pattern, str(number)) is None:
        raise ValueError("That was not a number")

    number = "%.2e" % number
    if "+" in number:
        positive = True
        number, exponent = number.split("+")
    else:
        positive = False
        number, exponent = number.split("-")

    exponent = str(int(exponent))  # Removes leading zeros

    if positive:
        return number + exponent
    else:
        return number + "-" + exponent


def is_acceptable_answer(correct_answer, response):
    """ Calculates if an answer is an acceptable distance from the correct answer
    Args:
        correct_answer (float)
        response (String)

    Returns:
        bool: True of the answer is an acceptable answer, false otherwise

    Examples:
    >>> is_acceptable_answer(100, '1.00e2')
    True
    >>> is_acceptable_answer(100, '1.01e2')
    True
    >>> is_acceptable_answer(100, '1.02e2')
    False
    """

    # TODO Handle errors better with loop
    try:
        correct_answer = convert_to_scientific_notation(correct_answer)
    except ValueError as ve:
        print(ve.args)

    number, exponent = correct_answer.split("e")
    number = float(number)
    max_number = number + .01
    min_number = number - .01
    max_number = str(max_number) + "e" + exponent
    min_number = str(min_number) + "e" + exponent

    min_number = int(float(min_number))
    max_number = int(float(max_number))

    if min_number <= int(float(response)) <= max_number:
        return True

    return False

@@ -124,16 +124,25 @@
 String)%0A
+        %0A
     Retu
@@ -138,32 +138,32 @@
   %0A    Returns:%0A
-
         bool: Tr
@@ -205,16 +205,25 @@
 herwise%0A
+        %0A
     Exam
@@ -219,32 +219,36 @@
   %0A    Example:%0A
+    
     %3E%3E%3E is_hyper
@@ -269,16 +269,20 @@
 .00e2%22)%0A
+    
     True
@@ -282,24 +282,28 @@
    True%0A    
+ 
+   
 %3E%3E%3E is_hyper
@@ -321,16 +321,20 @@
 (%22100%22)%0A
+    
     Fals
@@ -335,24 +335,28 @@
   False%0A    
+ 
+   
 %3E%3E%3E is_hyper
@@ -378,16 +378,20 @@
 234e5%22)%0A
+    
     Fals
@@ -384,32 +384,41 @@
 )%0A        False%0A
+        %0A
     %22%22%22%0A    if c
@@ -679,24 +679,28 @@
    Example:%0A
+    
     %3E%3E%3E conv
@@ -729,16 +729,20 @@
 tion(5)%0A
+    
     '5.0
@@ -746,24 +746,28 @@
 5.00e0'%0A    
+   
+ 
 %3E%3E%3E convert_
@@ -793,16 +793,20 @@
 ion(10)%0A
+    
     '1.0
@@ -810,16 +810,20 @@
 1.00e1'%0A
+    
     %3E%3E%3E 
@@ -863,16 +863,20 @@
 00)%0A    
+ 
+   
 '-1.00e2
@@ -877,16 +877,20 @@
 1.00e2'%0A
+    
     %3E%3E%3E 
@@ -926,16 +926,20 @@
 n(0.01)%0A
+    
     '1.0
@@ -944,16 +944,25 @@
 .00e-2'%0A
+        %0A
     %22%22%22%0A
@@ -1762,16 +1762,20 @@
 amples:%0A
+    
     %3E%3E%3E 
@@ -1806,24 +1806,28 @@
 , '1.00e2')%0A
+    
     True%0A   
@@ -1819,32 +1819,36 @@
        True%0A    
+ 
+   
 %3E%3E%3E is_acceptabl
@@ -1867,24 +1867,28 @@
 , '1.01e2')%0A
+    
     True%0A   
@@ -1884,24 +1884,28 @@
    True%0A    
+ 
+   
 %3E%3E%3E is_accep
@@ -1928,24 +1928,28 @@
 , '1.02e2')%0A
+    
     False%0A  
@@ -1942,24 +1942,33 @@
       False%0A
+        %0A
     %22%22%22%0A%0A   

Add spaces and indents