方案一:(使用sort函数)
lst = []
n = 3
for i in range(n):
lst.append(int(input('>>>')))
print(sorted(lst,reverse=True))
方案二:(逻辑严谨练习)
num = []
for i in range(1,4):
num.append(int(input('>>>')))
print(num)
if num[0] < num[1]:
if num[0] < num[2]:
print(num[0])
if num[1] < num[2]:
print(num[1])
print(num[2])
else:
print(num[2])
print(num[1])
else:
print(num[2])
print(num[0])
print(num[1])
else:
if num[1] < num[2]:
print(num[1])
if num[0] < num[2]:
print(num[0])
print(num[2])
else:
print(num[2])
print(num[0])
else:
print(num[2])
print(num[1])
print(num[0])
方案三:(逻辑严谨练习,使用max函数)
num = []
for i in range(1,4):
num.append(int(input('>>>')))
print(num)
if num[0] == max(num[0],num[1],num[2]):
if num[1] == max(num[1],num[2]):
print(num[2],num[1],num[0])
else:
print(num[1],num[2],num[0])
elif num[1] == max(num[0],num[1],num[2]):
if num[0] == max(num[0],num[2]):
print(num[2],num[0],num[1])
else:
print(num[0],num[2],num[1])
else:
if num[0] == max(num[0],num[1]):
print(num[1],num[0],num[2])
else:
print(num[0],num[1],num[2])
方案四:(自定义升序降序)
num = []
for i in range(1,4):
num.append(int(input('>>>')))
print(num)
if num[0] == max(num[0],num[1],num[2]):
if num[1] == max(num[1],num[2]):
out = [2,1,0]
else:
out = [1,2,0]
elif num[1] == max(num[0],num[1],num[2]):
if num[0] == max(num[0],num[2]):
out = [2,0,1]
else:
out = [0,2,1]
else:
if num[0] == max(num[0],num[1]):
out = [1,0,2]
else:
out = [0,1,2]
out.reverse()
for i in out:
print(num[i])
方案五:(利用列表处理,使用min函数)
lst = []
count = 0
n = 3
for i in range(n):
lst.append(int(input('>>>')))
while True:
min_num = min(lst)
print(min_num)
lst.remove(min_num)
count += 1
if count == n:
break
方案六:(交换排序)
num = []
for i in range(1,4):
num.append(int(input('>>>')))
print(num)
if num[0] > num[1]:
tmp = num[0]
num[0] = num[1]
num[1] = tmp
if num[1] > num[2]:
tmp = num[1]
num[1] = num[2]
num[2] = tmp
if num[0] > num[1]:
tmp = num[0]
num[0] = num[1]
num[1] = tmp
else:
if num[1] > num[2]:
tmp = num[1]
num[1] = num[2]
num[2] = tmp
if num[0] > num[1]:
tmp = num[0]
num[0] = num[1]
num[1] = tmp
print(num)
方案七:(封装解构法)
num = []
for i in range(1,4):
num.append(int(input('{}>>>'.format(i))))
print(num)
if num[0] > num[1]:
num[0],num[1] = num[1],num[0]
if num[1] > num[2]:
num[1],num[2] = num[2],num[1]
if num[0] > num[1]:
num[0],num[1] = num[1],num[0]
else:
if num[1] > num[2]:
num[1],num[2] = num[2],num[1]
if num[0] > num[1]:
num[0],num[1] = num[1],num[0]
print(num[0],num[1],num[2])
方案八:(冒泡法)
lst = [0,9,8,7,6,2,3,4,5,1]
# lst = [0,1,2,3,4,5,6,7,8,9]
# lst = [3,1,2]
n = len(lst)
loops = n - 1
count = 0
count_swap = 0
for x in range(loops,0,-1):
j = x + 1
flag = False
count += 1
for i in range(1,j):
if lst[i] < lst[i-1]:
count_swap += 1
lst[i],lst[i-1] = lst[i-1],lst[i]
flag = True
if not flag:
break
print(lst)
print(count,count_swap)