用Python写冒泡排序,天哪,什么是冒泡排序,又怎么样用Python来实现这个程序,对于软件小白的我来说第一次听到这个问题,一点思路都没有,还好,信息时代,共享是个非常有意义的事情。于是乎,我打开浏览器,按照要求一顿输入,刷出来很多相关答案,找了几个代码看起来简单的,又有很多注释的,先理解概念,搞清楚什么叫冒泡排序,这个很容易理解,但是很快就被难到了,函数不知道意思,for循环不知道怎么用,我的脑子也陷入了理不清的思路中。请教身边的学霸,被点醒,循环的过程就是一个动态的过程,不要纠结于一点,然后慢慢理解,用笔用脑子过这个程序,终于基本理清。
程序编写要求:
写清楚注释
能讲清楚算法
能运行成功
能对需要排序的数组进行输入
能对输入数组的每个值的类型进行判断,类型不为int时,能给出相应的错误提示。
具体Python实现过程如下:
arr=[n for n in input().split()] #输入的元素是要参与循环的元素,
for j in range(len(arr)): #对arr的字符数进行遍历
try: #try-except是用来引发异常,如果正确会执行try部分,如果报错,就会执行except部分
arr[j]=int(arr[j])
except:
print("输入有误")
exit() #终止程序,返回系统
def bubble_sort(arr):
for j in range(len(arr)-1): #这个外循环负责设置冒泡排序进行的次数
for i in range(0,len(arr)-1-j): #i为列表下标
if arr[i]>arr[i+1]: #比较相邻两个数大小,满足条件则进行位置互换
arr[i],arr[i+1]=arr[i+1],arr[i]
return arr
print(bubble_sort(arr)) #输出排序后的arr
首次接触,完全小白,希望可以得到指正。