用來練手的python練習題,原題鏈接: python練習實例39
題干: 有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。
這個題目用列表List的sort,append方法非常簡單,如下:
想要升序排列的話,就直接使用默認參數。
降序排列,將reverse參數改為True即可。
如果不使用python自帶的排序方法的話,源代碼如下:
origine = [1,3,5,11,26,37,68,129]
number = int(input("輸入一個數:"))
for i in range(len(origine)):if origine[i] <= number and origine[i+1] >= number:origine.append([])origine[i+2:len(origine)] = origine[i+1:len(origine)-1]origine[i+1] = numberbreak
print(origine)
輸出結果如下:
思路也比較簡單,輸入數字后,總是使列表長度增加1。之后遍歷列表,找到新插入數的位置,將該位置至末尾的其他數字都向后移動一個索引,再將該位置改為新輸入的數字即可。