想问一下大神我这个代码运行报错,显示n没有定义,len(numbers)不是已经赋值给n了吗
代码:
def bubblesort(numbers):
n = len(numbers)
for i in range(n):
for j in range(0,n-i-1):
if numbers[j]>numbers[j+1]:
numbers[j],numbers[j+1]=numbers[j+1],numbers[j]
numbers = [64, 34, 25, 12, 22, 11, 90]
bubblesort(numbers)
print('排序后:')
for i in range(len(numbers)):
print('%d'%numbers[i],end='')

冒泡排序:python编程入门,请大家帮我看一下非常感谢
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- CSDN专家-sinJack 2021-10-09 11:08关注
for循环缩进有问题,应该是跟n = len(numbers)同层级,否则就会出现n未定义。
代码修改如下:def bubblesort(numbers): n = len(numbers) for i in range(n): for j in range(0,n-i-1): if numbers[j]>numbers[j+1]: numbers[j],numbers[j+1]=numbers[j+1],numbers[j] numbers = [64, 34, 25, 12, 22, 11, 90] bubblesort(numbers) print('排序后:') for i in range(len(numbers)): print('%d'%numbers[i],end=' ')
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报