题目:编写程序随机生成三个整数,输出其升序序列
法一:冒泡排序
from random import *
#for i in range(3):
a,b,c=randint(1,100),randint(1,100),randint(1,100)
if c<=b<=a:
print(c)
print(b)
print(a)
elif c<=a<=b:
print(c)
print(a)
print(b)
elif a<=b<=c:
print(a)
print(b)
print(c)
elif a<=c<=b:
print(a)
print(c)
print(b)
elif b<=a<=c:
print(b)
print(a)
print(c)
elif b<=c<=a:
print(b)
print(c)
print(a)
优势:继承了c语言的思想,容易理解
劣势:代码稍长
法二:算法和一样,但是print(a,b,c)输出会使三个数变成一个数组
from random import *
#for i in range(3):
a,b,c=randint(1,100),randint(1,100),randint(1,100)
if c<=b<=a:
print(c,b,a)
elif c<=a<=b:
print(c,a,b)
elif a<=b<=c:
print(a,b,c)
elif a<=c<=b:
print(a,c,b)
elif b<=a<=c:
print(b,a,c)
elif b<=c<=a:
print(b,c,a)
法三:引入列表,sort()函数排序
from random import *
list=[randint(1,100),randint(1,100),randint(1,100)]
list.sort()
print(list)
优势:代码量少
劣势:默认为列表,输出有[ ],有些时候会导致无法通过测试用例
如果只是两个数排列,还可以直接用max(),min()函数,就不用c语言中的判断排序了
from random import *
import math
a,b,c=randint(1,100),randint(1,100),randint(1,100)
print(min(a,b,c))
print(max(a,b,c))