5. 次のコードにバグがあります。修正するにはどうすればよいですか？
```python
def find_max(numbers):
    max = 0
    for num in numbers:
        if num > max:
            max = num
    return max
```
このコードにはバグがありませんが、Pythonのlistには最初の要素が0であるという前提がありません。もしlist内の最大の数字が負の数の場合、この関数は0を返してしまいます。そのため、初期の`max`の値を`numbers[0]`にするか、`numbers`が空の場合を考慮して例外処理を行う必要があります。
```python
def find_max(numbers):
    if not numbers:
        return None
    max_num = numbers[0]
    for num in numbers:
        if num > max_num:
            max_num = num
    return max_num
```