Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python气泡排序错误_Python_Bubble Sort - Fatal编程技术网

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接受字符串,但是输入函数做什么呢?这里你用字符串值表示范围。您需要将其转换为int
input
将输入字符串作为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