<s>Human: 给定一个计算机程序，分析出其中的bug并提供解决方案。
计算机程序：
def bubble_sort(arr):
    n=len(arr)
    for i in range(n):
        for j in range(0,n-i-1):
            if arr[j]>arr[j+1]:
                arr[j],arr[j+1]=arr[j+1],arr[j]
    return arr
arr=[64,34,25,12,22,11,90]
sorted_arr=bubble_sort(arr)
print(sorted_arr)
</s><s>Assistant: 这段代码实现了经典的冒泡排序算法，但是存在一个小bug：当输入的数组是空数组时，代码会出现 index out of range 错误，导致程序崩溃。

为了解决这个问题，我们可以在程序开头添加一个对输入的数组非空判断的语句，如下所示：

```python
def bubble_sort(arr):
    if not arr:   # 添加非空判断语句
        return []
    n=len(arr)
    for i in range(n):
        for j in range(0,n-i-1):
            if arr[j]>arr[j+1]:
                arr[j],arr[j+1]=arr[j+1],arr[j]
    return arr

arr=[]
sorted_arr=bubble_sort(arr)
print(sorted_arr)
```
这样，当输入的 arr 为空时，程序会直接返回一个空列表 []，避免了出现 index out of range 错误。
</s>