The correct answer is b.
Functions make code more readable because they break up long programs into smaller and more manageable pieces, sort of like paragraphs in a book.
Functions make code reusable because once a function is written, it can be called from other functions or a main program as many times as you'd like. So, instead of having to rewrite the same code over and over again, a portion of code in a function can be called instead.
Functions can take data and process it by accepting input values, performing some actions, and returning or outputting some different data.
Functions are NOT more difficult to write, as they are the same as writing code in one big chunk-- the only different part is that functions require function headers. In Python, a function is denoted by the "def" keyword, and requires a name. Here is an example:
def foo(**input value(s)**):
** your code here ***
return **output values**