I learned about docstring and unittest in Python.
- tests: Test files.
Prototypes for functions written in this project:
| File | Prototype |
|---|---|
0-add_integer.py |
def add_integer(a, b=98): |
2-matrix_divided.py |
def matrix_divided(matrix, div): |
3-say_my_name.py |
def say_my_name(first_name, last_name=""): |
4-print_square.py |
def print_square(size): |
5-text_indentation.py |
def text_indentation(text): |
100-matrix_mul.py |
def matrix_mul(m_a, m_b): |
101-lazy_matrix_mul.py |
def lazy_matrix_mul(m_a, m_b): |
102-python.c |
void print_python_string(PyObject *p); |
-
0. Integers addition
- 0-add_integer.py: Python function that returns the integer addition of two numbers.
- If either of
aorbis not anintorfloat, aTypeErroris raised with the messagea must be an integerorb must be an integer. - If either of
aorbis afloat, it is casted to anintbefore addition.
-
1. Divide a matrix
- 2-matrix_divided.py: Python function that divides all elements of a matrix by a common divisor.
- Returns a new matrix representing the division of all elements of
matrixbydiv. - Quotients are rounded to two decimal places.
- If
matrixis not a list of lists ofints orfloats, aTypeErroris raised with the messagematrix must be a matrix (list of lists) of integers/floats. - If
matrixcontains rows of different lengths, aTypeErroris raised with the messageEach row of the matrix must have the same size. - If the divisor
divis not anintorfloat, aTypeErroris raised with the messagediv must be a number. - If
divis0, aZeroDivisionErroris raised with the messagedivision by zero.
-
2. Say my name
- 3-say_my_name.py: Python function that prints a name in
the format
My name is <first_name> <last_name>. - If either of
first_nameorlast_nameis not astr, aTypeErroris raised with the messagefirst_name must be a stringorlast_name must be a string.
- 3-say_my_name.py: Python function that prints a name in
the format
-
3. Print square
- 4-print_square.py: Python function that prints a square using
the
#character. - The paramter
sizerepresents the height/width of the square. - If
sizeis not anint, aTypeErroris raised with the message,size must be an integer. - If
sizeis less than0, aValueErroris raised with the messagesize must be >= 0.
- 4-print_square.py: Python function that prints a square using
the
-
4. Text indentation
- 5-text_indentation.py: Python function that prints text with indentation.
- Two new lines are printed after any
.,?, or:character. - If
textis not astr, aTypeErroris raised with the messagetext must be a string. - No spaces are printed at the beginning or end of each printed line.
-
5. Max integer - Unittest
- tests/6-max_integer_test.py: Python class/script
that runs unittests for the function
def max_integer(list=[]):(provided by Holberton School).
- tests/6-max_integer_test.py: Python class/script
that runs unittests for the function
-
6. Matrix multiplication
- 100-matrix_mul.py: Python function that multiplies two matrices.
- Returns a new matrix representing the multiplication of
m_abym_b. - If either of
m_aorm_bis empty (ie.== []or== [[]]), aValueErroris raised with the messagem_a can't be emptyorm_b can't be empty. - If either of
m_aorm_bis not a list, aTypeErroris raised with the messagem_a must be a listorm_bmust be a list. - If either of
m_aorm_bis not a list of lists, aTypeErroris raised with the messagem_a must be a list of listsorm_b must be a list of lists. - If either of
m_aorm_bis not a list of lists ofints orfloats, aTypeErroris raised with the messagem_a should contain only integers or floatsorm_b should contain only integers or floats. - If either of
m_aorm_bcontains rows of different lengths, aTypeErroris raised with the messageeach row of m_a must should be of the same sizeoreach row of m_b must should be of the same size. - If
m_aandm_bcannot be multiplied (ie. row size ofm_adoes not match column size ofm_b), aValueErroris raised with the messagem_a and m_b can't be multiplied.
-
7. Lazy matrix multiplication
- 101-lazy_matrix_mul.py: Python function that multiplies
two matrices using the module
NumPy. - Identical in function to 100-matrix_mul.py.
- 101-lazy_matrix_mul.py: Python function that multiplies
two matrices using the module
-
8. CPython #3: Python Strings
- 102-python.c: C function that prints basic information about Python string objects.