关于#python#的问题:python冒泡排序中print((arr))显示none

关于#python#的问题:python冒泡排序中print((arr))显示none

问题描述:

def bubbleSort(arr):
# 获取数组长度
arr_len = len(arr)
# 外部大循环=》第几趟
for i in range(1, arr_len):
    # 内部循环比较=》相邻数值进行比较
    for j in range(0, arr_len - i):# 每次内循环的次数都需要总长度减去已排好位置的值的数量
        if arr[j] > arr[j+1]: # 左右比较
            arr[j], arr[j+1] = arr[j+1], arr[j] # 将数值大的放右边,数值小的放左边

arr = [64, 34, 25, 12, 22, 11, 90]
print(bubbleSort(arr))

问题相关代码,请勿粘贴截图 :print(bubbleSort(arr))
运行结果及报错内容 :none
我的解答思路和尝试过的方法 :就是不知道其中原因
我想要达到的结果:正常排序

你函数得return arr啊
你的函数没有返回值,你print当然是None了。
//
如果函数不想return arr;那么调用的地方得这么写:
bubbleSort(arr)
print(arr)


def bubbleSort(arr):
    arr_len = len(arr)
    for i in range(1, arr_len):
        for j in range(0, arr_len - i):# 每次内循环的次数都需要总长度减去已排好位置的值的数量
            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]
print(bubbleSort(arr))

运行结果

img