Question: I have this very simple Python function, but there is one part I am confused about. The function is called bigger and it takes two numbers as inputs and outputs the bigger number. (I could only use if statements, no elses)

Here's the code:

```
def bigger(x, y):
    if x > y:
        return x
    return y

```

I would think that this code would return `y` if `y` is bigger (which it does), but it would return `x` and `y` if `x` is bigger (it only returns `x`). Why does it only return one output? Can Python functions only have one output?

Answer: 
The `return` statement not only returns a value, but also terminates the current function and returns control to the calling function. So, this function will only return a single value. In my opinion it would be slightly more clear to write this:

```
def bigger(x, y):
    if x > y:
        return x
    else:
        return y

```

but the result would not differ.
In a Python function, when a `return` statement is encountered, execution of that function is terminated. Execution context then goes back to the context that called the function.

So, even though you see two `return` statements, if that first one is encountered (as a result of x being bigger than y), nothing else in the function runs.

<https://docs.python.org/2/reference/simple_stmts.html#return>