python练习题(二十六):题目:有一个已经排好序的数组。现每输入一个数,都按原来的规律将它插入数组中。

# 题目:
# 有一个已经排好序的数组。
# 现每输入一个数,都按原来的规律将它插入数组中。

sort_list = [3, 9]
print("原列表:", end='')
print(sort_list)
print('-' * 50)


def re_sort(a):
    sort_list.append(a)
    list_len = len(sort_list)
    if sort_list[0] <= sort_list[list_len - 2]:
        # 升序排列
        for i in range(list_len - 1):
            if sort_list[list_len - 1] <= sort_list[i]:
                m = sort_list[list_len - 1]
                for j in range(list_len - 1, i, -1):
                    sort_list[j] = sort_list[j - 1]
                sort_list[i] = m
        return sort_list
    else:
        # 降序排列
        for i in range(list_len - 1):
            if sort_list[list_len - 1] >= sort_list[i]:
                m = sort_list[list_len - 1]
                for j in range(list_len - 1, i, -1):
                    sort_list[j] = sort_list[j - 1]
                sort_list[i] = m
        return sort_list


while True:
    aa = int(input("请输入数字(输入-1退出):"))
    if aa == -1:
        break
    print(re_sort(aa))

运行结果:
在这里插入图片描述

发布了37 篇原创文章 · 获赞 0 · 访问量 407

猜你喜欢

转载自blog.csdn.net/yizhishuixiong/article/details/104939349