3 5 1 6 2
1)第一次:找到这些数中最大的一个,并把它放最后。
3、5找到大的数放到第二个位置
5、1找到大的数放到第三个位置
5、6找到大的数放到第四个位置
2、6找到大的数放大第五个位置
第五个位置就是最大的
a= [3,5,1,6,2] for i in range(len(a)-1): if a[i]>a[i+1]: a[i],a[i+1] = a[i+1],a[i] print(a[-1])
2)找到最大值了,现在找次大值,次大值放在倒数第二的位置
a= [3, 1, 5, 2, 6] for i in range(len(a)-1-1): if a[i]>a[i+1]: a[i],a[i+1] = a[i+1],a[i] print(a[-2])
3)找第三个最大的数,放到倒数第三个
for i in range(len(a)-1-1-1): if a[i]>a[i+1]: a[i],a[i+1] = a[i+1],a[i] print(a[-3])
4)找到第四个最大的数,放到倒数第四个
for i in range(len(a)-1-1-1-1): if a[i]>a[i+1]: a[i],a[i+1] = a[i+1],a[i] print(a[-4])
5)剩下的最后一个,就是最小的数,放到第一个
找到规律,实现冒泡
a= [3,5,1,6,2] for i in range(len(a)-1):#0,1,2,3 for j in range(len(a)-1-i): if a[j]>a[j+1]: a[j],a[j+1] = a[j+1],a[j] print(a)
总结一下过程:
第一次内层循环的结果就是找到最大的值 第二次内层循环的结果就是找到次大的值,本次将忽略最后一个元素的比较 第三次内层循环的结果就是找到第三大的值,本次将忽略倒数第二个元素和最后一个元素的比较
第四次内层循环的结果就是找到第四大的值,本次将忽略倒数第三个元素和倒数第二个元素和最后一个元素的比较
剩下的最后一个,就是最小的数 .......
两个数在python中如何交互位置
两种写法:
1、
a,b = b,a
2、
temp=a
a=b
b=temp
a=[7,2,4,21,44,3]
两个for循环,第一层控制比几次,第二层控制怎么比
升序
for i in range(1,len(a)):
for j in range(len(a)-1):
if a[j]>a[i]:
a[j],a[i]=a[i],a[j]
print a
降序
for i in range(1,len(a)):
for j in range(len(a)-1):
if a[j]<a[i]:
a[j],a[i]=a[i],a[j]
print a