## How It Works

Although the `quad` function may look more complicated than the other, more elementary examples in this chapter, at the bottom it’s doing the same thing: taking in some input, doing some number crunching, and returning a result. The one true innovation in this example is that here I’ve introduced the use of *three* arguments rather than just one.

The order of arguments is significant. Because the `quad` definition takes three arguments, `a`, `b`, and `c`, each call to `quad` must specify three values, and these are passed to those variable names: `a`, `b`, and `c`, in that order.

The following illustration shows how this works for the function call `quad(1, 2, 1)`, assigning 1, 2, and 1 to the values `a`, `b`, and `c`:

Now it’s simply a matter of doing the correct number crunching to get an answer, and that means applying the quadratic formula.

We can use pseudocode to express what this function does. A pseudocode description of a program or function uses sentences that are very close to human language but lists the steps explicitly.

Here is the pseudocode description of the `quad` function:

For inputs a, b, and c:

Set determ equal to the square root of (b * b) – (4 * a * c).

Set x equal to (–b + determ) divided by (2 * a).

Return the value x.

The quadratic formula actually produces two answers, not one. The plus or minus sign indicates that –b plus the determinant (the quantity under the radical sign) divided by 2a is one answer; but –b *minus* the determinant divided by 2a is the other answer. In Example 3.1, the function returns only the first answer.

EXERCISES

**Exercise 3.1.1.** Revise the `quad` function by replacing the name `determ` with the name `dt` and by replacing the name `x` with the name `x1`; then verify that the function still works.

**Exercise 3.1.2.** Revise the `quad` function so that instead of returning a value, it prints two values using the Python ` print` statement in a user-friendly manner: “The

`x1`value is…” and “The

`x2`value is…” (Hint: The use of the plus/minus sign in the quadratic formula indicates what these two—not one—values should be. Review this formula closely if you need to do so.) Print each answer out on a separate line.

**Exercise 3.1.3.** The mathematical number “phi” represents the golden ratio, more specifically, the ratio of the long side of a golden rectangle to the short side. Try to predict what the reciprocal (1/phi) is; then use the Python interactive environment to see whether you’re right. How would you express the relationship between phi and 1/phi?