def read_string(puzzle_string: str):
    """
    Read string describing puzzle,
    converting it into a form the solver can understand.
    puzzle_string: string specifying puzzle
    return: array of numbers and operations for each row and column
    """
    puzzle = [
        part.split(' ')
        for part
        in puzzle_string.split('\n')
    ]

    puzzle = [
        row[:2] + [float(row[2])]
        for row
        in puzzle
        if len(row) == 3
    ]

    return puzzle