python气泡排序错误
我试图写一个冒泡排序程序,但它不起作用python气泡排序错误,python,bubble-sort,Python,Bubble Sort,我试图写一个冒泡排序程序,但它不起作用 n = raw_input("enter no of elements to be added in array") print 'enter elements for an array to be sorted' arr = [] for i in range(n): p=raw_input("enter next element of array\n") arr.append(p) for j in range (len(arr)-
n = raw_input("enter no of elements to be added in array")
print 'enter elements for an array to be sorted'
arr = []
for i in range(n):
p=raw_input("enter next element of array\n")
arr.append(p)
for j in range (len(arr)-1):
for k in range(len(arr)-j-1):
if(arr[k]>arr[k+1]):
temp=arr[k]
arr[k]=arr[k+1]
arr[k+1]=temp
print("the sorted array is")
print arr
比如说
如果我输入的输入号为“10,9,8,7,6,5,4,3,2,1”
排序后的数组为“1,10,2,3,4,5,6,7,8,9”
对于阵列“639541854,45,8”
答案是“854,45639,45541”
如果有数字排序,您需要将元素转换为
int
,您的程序应该是这样的
n = input("enter no of elements to be added in array")
print 'enter elements for an array to be sorted'
arr = []
for i in range(n):
p=input("enter next element of array\n")
arr.append(p)
for j in range (len(arr)-1):
for k in range(len(arr)-j-1):
if(arr[k]>arr[k+1]):
temp=arr[k]
arr[k]=arr[k+1]
arr[k+1]=temp
print("the sorted array is")
print arr
你应该检查“输入”和“原始输入”是如何工作的
在以下链接
寻求调试帮助的问题(“此代码为什么不工作?”)必须包含特定的问题或错误。是否收到错误消息?输出是否完全不正确?您能显示典型输入、预期输出和实际输出吗?排序不适合,例如,如果我输入输入no作为“10,9,8,7,6,5,4,3,2,1”,排序后的数组将显示为“1,10,2,3,4,5,6,7,8,9”@user3816204将此附加数据添加到您的问题中(使用编辑选项),如果OP使用的是Python 2.x,他不应该使用
input
而不是raw\u input
@chepner。anuj给出的链接告诉我们raw\u input接受字符串,但是输入函数做什么呢?这里你用字符串值表示范围。您需要将其转换为intinput
将输入字符串作为Python代码进行计算。这个功能从Python3中完全删除了(允许将raw_input
重命名为input
);它也不应该在Python 2中使用。
n = input("enter no of elements to be added in array")
print 'enter elements for an array to be sorted'
arr = []
for i in range(n):
p=input("enter next element of array\n")
arr.append(p)
for j in range (len(arr)-1):
for k in range(len(arr)-j-1):
if(arr[k]>arr[k+1]):
temp=arr[k]
arr[k]=arr[k+1]
arr[k+1]=temp
print("the sorted array is")
print arr