电子商务网站建设与管理程序设计题6,自己做网站,亚马逊购物,制作相册软件下载编写函数#xff0c;寻找给定序列中相差最小的两个数字
def getTwoClosestElements(arr):#先进行排序#xff0c;使得相邻元素最接近#相差最小的元素必然相邻seq sorted(arr)#先进行排序dif float(inf)#无穷大#遍历所有元素#xff0c;两两比较#xff0c;比较相邻元素的…编写函数寻找给定序列中相差最小的两个数字
def getTwoClosestElements(arr):#先进行排序使得相邻元素最接近#相差最小的元素必然相邻seq sorted(arr)#先进行排序dif float(inf)#无穷大#遍历所有元素两两比较比较相邻元素的差值#使用选择法寻找相差最小的两个元素for i,v in enumerate(seq[:-1]):#i,v均为已排序列表seq中的元素其中iv相邻d abs(v - seq[i1])#选择排序法后面的元素减去前面的元素得到的值的绝对值为dif d dif:#合法相邻直接差值比无穷大要小first, second, dif v, seq[i1], d#d存放两数之差的绝对值用于接下来继续比较差值找差值最小的、这里的seq[:-1]是倒着来的所以v在前seq[i1]在后#返回相差最小的两个元素return (first, second)arr[]
nint(input(请输入要给定序列中的元素个数:))
print(请依次输入给定序列各元素的值:)
for i in range(n):arr.append(int(input()))
print(给定序列为:%s % arr)
print(给定序列排序之后为%s % sorted(arr))
print(相差最小的两个数字:,end)
print(getTwoClosestElements(arr))效果图如下