探月少兒編程手機(jī)版下載 v4.4.9 安卓版
- 大?。?/em>212.49MB
- 日期:2024-09-11
- 語言:簡體中文
- MD5:F0DF0CE9A17CE6C0662C2B11A7C861F9
- 類型:教育學(xué)習(xí)
- 適用環(huán)境:android 、iOS
- 隱私政策:查看
- 包名:com.codemao.lunar
- 廠商:深圳點(diǎn)貓科技有限公司
- 備案號:粵ICP備15030912號-21A
手機(jī)掃碼下載
軟件介紹
探月少兒編程手機(jī)版是一款好用的在線編程教育軟件,一款能夠讓每一個(gè)少兒用戶都能在這里享受多維度在線編程學(xué)習(xí),每天都能讓你的孩子快速掌握編程知識。探月少兒編程手機(jī)版appr提供了最全的優(yōu)質(zhì)學(xué)習(xí)內(nèi)容,讓每一個(gè)孩子都可以在這里快速掌握最新的教學(xué)知識,全新的編程課程天天閱讀,源碼課程在這里快速開課,學(xué)習(xí)編程更容易。
探月少兒編程手機(jī)版還有著好用的豐富括展探索玩法,學(xué)生可以在這里一站式體驗(yàn)KIDs圖形化編程、NOMO圖形化編程、KITTENN圖形化編程等等,讓孩子輕松學(xué)習(xí)編程。
軟件特色
1、每門課程內(nèi)容均配置專業(yè)教師進(jìn)行指導(dǎo),學(xué)習(xí)程序編寫已不不孤獨(dú)。
2、課堂教學(xué)知識要點(diǎn)融于編程貓?jiān)瓌?chuàng)動漫故事情節(jié)內(nèi),趣味性,nofungodie。
3、將程序編寫專業(yè)知識與Steam等多綜合知識結(jié)合,五格數(shù)理、歷史時(shí)間、科學(xué)等知識要點(diǎn)一網(wǎng)打盡。
探月少兒編程手機(jī)版亮點(diǎn)
1、這款軟件十分有利于孩子培養(yǎng)關(guān)于計(jì)算機(jī)和關(guān)于編程的興趣愛好。
2、自己家里的孩子小小年紀(jì)就會編程,說出去好像很有面子的樣子。
3、但是希望每一個(gè)小孩學(xué)習(xí)編程都是出于興趣,而不是為了家長的面子。
探月少兒編程手機(jī)版優(yōu)勢
1、Python編程
真Python學(xué)習(xí)環(huán)境,簡單易用。
2、數(shù)據(jù)科學(xué)
解鎖更多數(shù)據(jù)科學(xué)功能,培養(yǎng)學(xué)生數(shù)據(jù)思維。
3、圖形化編程
從圖形化到代碼,一個(gè)編程工具就搞定。
4、機(jī)器人編程
支持多種硬件搭配教學(xué),實(shí)現(xiàn)舞臺角色與機(jī)器人的豐富聯(lián)動。
探月少兒編程手機(jī)版算法課程
一、冒泡排序
1、冒泡排序的概念
冒泡排序是最簡單的排序算法,是在一列數(shù)據(jù)中把較大(或較?。┑臄?shù)據(jù)逐次向右推移的一種排序技術(shù)。
冒泡排序過程容易理解,每一輪加工都是將本輪最大(或最小)的數(shù)據(jù)移動至右端。每個(gè)數(shù)如同水中的氣泡一樣,小的氣泡上升,被排到最上面;大的氣泡依次排在下面,這樣的過程可以比喻成“冒泡”。
2、冒泡排序的基本思想(以升序?yàn)槔?/p>
依次比較相鄰的兩個(gè)數(shù),將小數(shù)放在前面,大數(shù)放在后面。
第一輪從第1個(gè)元素開始,讓它和第2個(gè)元素進(jìn)行比較,若出現(xiàn)反序(大數(shù)在前,小數(shù)在后)則交換;然后讓第2個(gè)元素與第3個(gè)元素進(jìn)行比較,若出現(xiàn)反序則交換;依次類推,直到比較完最后一對元素為止。第一輪排序結(jié)束時(shí),最后一個(gè)元素為所有元素中的最大值。
接下來進(jìn)行第二輪比較。還是從第1個(gè)元素開始,讓它和第2個(gè)元素比較,若出現(xiàn)反序則交換;然后讓第2個(gè)元素和第3個(gè)元素進(jìn)行比較,若出現(xiàn)反序則交換;依次類推,直到比較完最后一對元素(即倒數(shù)第二對數(shù))為止。這樣,倒數(shù)第二個(gè)數(shù)為第二大的數(shù)。
依次排序下去,n個(gè)數(shù)排序共需要進(jìn)行n-1輪。
示例模擬:
5 8 4 3 7
5 8 4 3 7 將5和8比較,不交換位置
5 4 8 3 7 將8和4比較,交換位置
5 4 3 8 7 將8和3比較,交換位置
5 4 3 7 8 將8和7比較,交換位置,8被移至末尾
3、冒泡排序算法框架(偽代碼)
冒泡排序采用雙層嵌套循環(huán)來實(shí)現(xiàn),外側(cè)循環(huán)控制排序的輪數(shù),內(nèi)層循環(huán)控制排序元素下標(biāo)的變化、以及數(shù)據(jù)對的比較。
for i (0 ~ n-1) # 共進(jìn)行n-1輪排序
for j (0 ~ n-1-i) # 第i輪排序(次數(shù))
if 數(shù)據(jù)對反序,則:
數(shù)據(jù)交換
4、冒泡排序程序的實(shí)現(xiàn)(升序)
a = [1, 3, 2, 5, 8, 7, 6]
count = len(a)
for i in range(0, count-1):
for j in range(0, count-1-i):
if a[j] > a[j+1]:
a[j], a[j+1] = a[j+1], a[j]
print(a)
運(yùn)行結(jié)果如下:
[1, 2, 3, 5, 6, 7, 8]
思考一下,若要將列表中的元素降序排列,應(yīng)該如何修改程序?
是不是只需要將上述代碼中的大于號改成小于號即可?
5、思考題
(1)某書店在5所學(xué)校的流動售書量(單位為本)分別是80、125、64、68、46。采用冒泡排序?qū)ζ溥M(jìn)行升序排列,完成第二輪時(shí)的結(jié)果是( )
(2)有一組原始數(shù)據(jù):23、25、18、63、84、77、65、9、33、17。使用冒泡排序算法進(jìn)行從小到大排序,最多需要進(jìn)行( )輪加工,才可以完成整個(gè)數(shù)據(jù)的排序。
A、5 B、6 C、8 D、9
二、選擇排序
1、選擇排序的概念
選擇排序算法是對冒泡排序算法的改進(jìn)。
選擇排序是在參加排序的所有元素中找出數(shù)值最?。ɑ蜃畲螅┑脑?,如果它不是在左側(cè)第一個(gè)元素,就讓它和最左側(cè)第一個(gè)元素互換位置;然后在余下的元素中找出數(shù)值最?。ɑ蜃畲螅┑脑兀绻辉谧髠?cè)第二個(gè)元素,就讓它和最測第二個(gè)元素叫喚位置;以此類推,直到所有元素成為一個(gè)有序的序列。
選擇排序算法符合人們?nèi)粘5呐判蛄?xí)慣。
在對n個(gè)元素排序的時(shí)候,選擇排序算法和冒泡排序算法的比較次數(shù)是相同的,但交換次數(shù)比冒泡排序要少,因此它具有更高的效率。
2、選擇排序的基本思想
n個(gè)數(shù)排序共需要進(jìn)行n-1輪。以從小到大排序?yàn)槔?/p>
第一輪,從第1個(gè)元素到第n個(gè)元素中找出一個(gè)最小的元素,如果它不是第1個(gè)元素,就讓它和第1個(gè)元素交換位置。第一輪排序結(jié)束時(shí),第1個(gè)元素就是最小的元素。
第二輪,從第2個(gè)元素到第n個(gè)元素中找出一個(gè)最小元素,如果它不是第2個(gè)元素,就讓它和第2個(gè)元素交換位置。第二輪排序結(jié)束時(shí),第2個(gè)元素就是第2小的元素。
以此類推,第i輪排序,中第i個(gè)元素到第n個(gè)元素中找出一個(gè)最小的元素,最小元素的索引記作k,如果最小元素不在第i位上,即k!=i,就把最小元素和第i個(gè)元素叫喚位置,即:序列[i], 序列[k] = 序列[k], 序列[i]。
直到只剩下最后一個(gè)元素,排序結(jié)束。最后一個(gè)元素就是最大的元素。
3、選擇排序算法框架(偽代碼)
選擇排序算法同樣采用雙層嵌套循環(huán)來實(shí)現(xiàn),外側(cè)循環(huán)用來控制排序的輪數(shù),內(nèi)層循環(huán)用來控制排序元素的下標(biāo)變化范圍。每一輪排序過程中,都需要一個(gè)臨時(shí)變量存儲本輪排序中最小元素(或最大元素)的下標(biāo)。
for i in (0 ~ n-1) # 共進(jìn)行n-1輪排序
k = i
for j in (i+1, n) # 第i輪排序(次數(shù))
if 找到一個(gè)比k位置更小的元素,則:
用k記錄j的位置
if i != k, 則:
交換i和k位置上的數(shù)據(jù)
4、選擇排序程序的實(shí)現(xiàn)(升序)
a = [3, 4, 1, 2, 0, 9, 10]
count = len(a)
for i in range(0, count-1):
k = i
for j in range(i+1, count):
if a[k] > a[j]:
k = j
if k != i:
a[k], a[i] = a[i], a[k]
print(a)
運(yùn)行結(jié)果如下:
[0, 1, 2, 3, 4, 9, 10]
思考一下,如果按照降序排列,該如何修改程序?
體會變量k的用意。
與冒泡排序相比,選擇排序的優(yōu)劣是什么?
5、思考題
(1)用選擇排序算法對一組學(xué)生的身高數(shù)據(jù)進(jìn)行升序排序,已知第一輪排序結(jié)束后的數(shù)據(jù)序列為:166、169、177、175、172,則下列選項(xiàng)中可能是原始數(shù)據(jù)序列的是( )。
A、175、177、169、166、172
B、177、169、166、175、172
C、166、177、169、175、172
D、166、169、172、175、177
(2)某校要采購一套多媒體教學(xué)設(shè)備,有5個(gè)參考價(jià)位,分別如下:18萬元、17萬元、23萬元、15萬元、16萬元。若采用選擇排序算法對價(jià)格從高到低排序,需要進(jìn)行數(shù)據(jù)交換的次數(shù)是( )。
A、1 B、3 C、4 D、5
(3)下列關(guān)于排序的說法,錯(cuò)誤的是( )。
A、相對而言,選擇排序算法的效率比冒泡排序算法的效率高
B、冒泡排序算法和選擇排序算法都需要用到雙循環(huán)結(jié)構(gòu)
C、對于n個(gè)無序數(shù)據(jù),不管是冒泡排序還是選擇排序,都需要經(jīng)過n-1輪加工
D、冒泡排序算法的程序?qū)崿F(xiàn)一般要用到數(shù)組變量k,而選擇排序則不需要
三、插入排序
1、插入排序的概念
插入排序算法過程如下:先將待排序數(shù)列中的第1個(gè)元素看成一個(gè)有序的子序列,然后從第2個(gè)元素起,將其依次(從小到大或從大到小)逐個(gè)插入這個(gè)有序的子序列中,以此類推到最后一個(gè)元素。這很像完撲克牌時(shí)一邊抓牌一邊理牌的過程,每抓到一張牌,就把它插到應(yīng)處的位置。
2、插入排序的基本思想
先將列表中的前兩個(gè)元素按順序排列(以升序?yàn)槔?/p>
然后,每次將下一個(gè)待排序元素,按其大小插入到前面已經(jīng)排好順序的序列中,使序列依舊有序,直到所有待排序元素全部插入完成。
3、實(shí)例演示
已知列表a=[5, 3, 5, 2, 8],對其升序排列。
第一輪插入(只要將第2個(gè)元素與第1個(gè)元素比較)
(1)先將待插入的元素a[1]暫存到變量key中;
(2)將key與前面已經(jīng)排序好的元素比較,key<a[0]成立,說明key要插入到a[0]前面,將a[0]往后移一個(gè)位置,放到a[1]中;
(3)將key放入a[0]中。
第二輪插入(將第3個(gè)元素插入前面已排好的兩個(gè)元素序列中)
(1)先將待插入的元素a[2]暫存到變量key中;
(2)將key與前面已經(jīng)排好序的元素比較,key<a[1]不成立,說明key要插入到a[1]后面,即a[2]中;
(3)將key放入a[2]中。
第三輪插入(將第4個(gè)元素插入到前面已排好的三個(gè)元素序列中)
(1)先將待插入的元素a[3]暫存到變量key中;
(2)將key與前面已經(jīng)排序序的序列比較,key<a[2]成立,說明key要插入到a[2]前面,將a[2]后移一位,放到a[3]中;
(3)再比較前一個(gè)元素,key<a[1]成立,說明key要插入到a[1]前面,將a[1]后移一位,放到a[2]中;
(4)再比較前一個(gè)元素,key<a[0]成立,說明key要插入到a[0]前面,將a[0]后移一位,放到a[0]中;
(5)將key放入a[0]中。
第四輪插入(將第5個(gè)元素插入到前面已排好的4個(gè)元素序列中)
與第二次插入類似,第個(gè)元素比a[3]大,應(yīng)該插入到a[3]后面,即位置保持不變。至此,插入排序完成。
4、插入排序程序?qū)崿F(xiàn)
示例程序(1)
a = [5, 3, 5, 2, 8] # 初始化一個(gè)列表
for i in range(1, len(a)): # 設(shè)定插入的輪數(shù)
key = a[i] # 將待排序元素暫存到變量key中
j = i - 1 # 將待比較元素的索引存入變量j中
while j >= 0 and a[j] > key: # 元素比較
a[j+1] = a[j] # 將大元素往后移動
j -= 1 # 更新待比較元素的索引
a[j+1] = key # 將待插入元素往前移動
print(a) # 打印最終結(jié)果
運(yùn)行結(jié)果:
[2, 3, 5, 5, 8]
示例程序(2)
a = [5, 3, 5, 2, 8] # 初始化一個(gè)列表
for i in range(1, len(a)): # 設(shè)定插入的輪數(shù)
j = i -1 # 將待比較元素的索引存入變量j中
while j >= 0 and a[j] > a[i]: # 元素比較
j -= 1
if j == 0: # 如果待插入元素最小,將其插入到最前面
a.insert(0, a[i])
else: # 如果待插入元素不最小,將其插入到j(luò)+1索引前
a.insert(j+1, a[i])
a.pop(i+1) # 最后將待插入的原始數(shù)據(jù)刪除
print('a =, a') # 打印最終結(jié)果
運(yùn)行結(jié)果:
a = [2, 3, 5, 5, 8]
四、順序查找
查找是程序和現(xiàn)實(shí)生活中經(jīng)常用到的方法,也是一種查詢數(shù)據(jù)的技術(shù),其目標(biāo)是以較少的步驟或在較短的時(shí)間內(nèi)找到所需的數(shù)據(jù)。
這里主要掌握順序查找和對分查找算法。
1、順序查找的概念
假設(shè)要從n個(gè)元素中查找元素x是否存在,最原始的方法就是從頭到尾依次查找,這種查找方法就是順序查找。
順序查找的基本思想是:從第一個(gè)元素開始,按順序逐個(gè)將數(shù)據(jù)與給定的數(shù)據(jù)(查找鍵)進(jìn)行比較,若某個(gè)元素與查找鍵相等,則查找成功,輸出所查數(shù)據(jù)的位置;反之,輸出未找到。
2、順序查找的處理過程
假設(shè)列表a中有n個(gè)元素,查找鍵已經(jīng)存在變量key中。
從列表a中的第1 哥元素a[0]開始,依次判斷各元素的值是否與key相等,若某個(gè)元素a[i]的值等于key,則找到了指定的數(shù)據(jù),對應(yīng)的位置索引為i,停止程序;若找遍了所有的n個(gè)元素,沒有一個(gè)元素的值等于key,輸出未找到,停止程序。
3、順序查找的程序?qū)崿F(xiàn)
在列表中查找元素26。
lst = [32, 17, 56, 25, 26, 89, 65, 12] # 初始化列表
key = 26 # 初始化要查找的元素
b = -1 # 要查找元素的索引
m = len(lst) # 列表長度
for i in range(0, m):
if lst[i] == key:
b = i
break
if b == -1: # -1 表示未找到
print("要查找的元素 [" + str(key) + "] 不在列表lst中。")
else:
print("要查找的元素 [" + str(key) + "] 的索引是:" + str(b))
4、思考題
(1)想一想,順序查找與枚舉算法的相似之處與不同之處。
(2)為查找課文第一次描寫景色的自然段,小張同學(xué)打開課本依次閱讀每一個(gè)自然段進(jìn)行查找。這種查找方法為( )。
A、無序查找B、順序查找C、對分查找D、隨機(jī)查找
(3)在23、41、54、26、84、52、65、21中查找數(shù)字52,采用從后往前的順序查找,需要查找的次數(shù)是( )。
A、2次B、3次C、7次D、1次
五、對分查找
如果在一堆無序的數(shù)列中查找某個(gè)數(shù),可以使用順序查找;如果在一個(gè)排好順序的有序數(shù)列中查找某個(gè)數(shù),除了順序查找,你還有更快、更簡潔的查找算法嗎?
1、對分查找的概念
對分查找又稱“二分查找”,是一種高效的查找方法。
對分查找的前提條件:被查找數(shù)據(jù)序列是有序的(升序或降序排列)。
對分查找的基本思想:首先將要查找的數(shù)據(jù)與有序數(shù)列內(nèi)處于中間位置上的數(shù)據(jù)進(jìn)行比較,如果兩者相等,則查找成功;否則根據(jù)數(shù)據(jù)的有序性,再確定該數(shù)據(jù)的范圍應(yīng)該在數(shù)列的前半部分還是后半部分;在新確定的縮小范圍內(nèi),繼續(xù)按上述方法進(jìn)行查找,直到找到要查詢的數(shù)據(jù),即查詢成功;如果要查詢的數(shù)據(jù)不存在,即查找失敗。
2、對分查找的處理過程
若key為查找鍵,列表a存放n個(gè)已按升序排序好的元素。在使用對分查找時(shí),把查找范圍[i, j]的中間位置上的數(shù)據(jù)a[m]與key進(jìn)行比較,結(jié)果必然有以下3中情況:
(1)若key<a[m],查找鍵key小于中間位置數(shù)據(jù)a[m]。由于列表a按升序排列,可以確定key的值應(yīng)該在列表a的前半段,即在新范圍(i, m-1)中繼續(xù)查找。
(2)若key=a[m],查找成功。
(3)若key>a[m],查找鍵key大于中間位置數(shù)據(jù)a[m]??梢詳喽╧ey應(yīng)該在列表a的后半段,所以應(yīng)該在新范圍(m+1, j)中繼續(xù)查找。
中間位置數(shù)據(jù)a[m]的下標(biāo)m的計(jì)算方法如下:
m = (i+j)//2 或 m = int((i+j)/2)
3、對分查找的程序?qū)崿F(xiàn)
(1)由于比較次數(shù)難以確定,所以用while語句實(shí)現(xiàn)循環(huán)。
(2)在while循環(huán)體中用if語句判斷查找是否成功。
(3)若查找成功則輸出查找結(jié)果,并用break語句結(jié)束循環(huán)。
(4)若查找不成功,則判斷查找鍵在數(shù)組的前半段還是后半段,從而縮小范圍,繼續(xù)查找。
假設(shè)列表 lst = [12, 17, 23, 25, 26, 35, 47, 68, 76, 88, 96],要查找元素 key = 25, 使用對分查找程序如下:
# 初始化變量
lst = [12, 17, 23, 25, 26, 35, 47, 68, 76, 88, 96]
key = 25
n = len(lst)
# i為左邊的索引號,j為右邊的索引號
i, j = 0, n - 1
b = -1
# 執(zhí)行查找操作
while i <= j: # 只要i小于等于j,就繼續(xù)查找
m = (i + j) // 2 # 計(jì)算中間索引
if key == lst[m]: # 恰好找到目標(biāo)元素
b = m # 將目標(biāo)元素的索引賦值給b
break # 找到目標(biāo)元素,停止查找
elif key > lst[m]: # 如果目標(biāo)元素在列表后半段
i = m +1 # 將左邊的索引移到中間偏后一位
else: # 如果目標(biāo)元素在前半段
j = m -1 # 將右邊的索引移到中間偏前一位
# 查找完成之后,根據(jù)索引b的值判斷是否查找成功
if b == -1: # -1 表示元素未找到
print("要查找的元素 [" + str(key) + "] 不在列表lst中。")
else:
print("要查找的元素 [" + str(key) + "] 的索引是:" + str(b))
4、對分查找的查找次數(shù)估算
對元素規(guī)模為n的列表進(jìn)行對分查找時(shí),無論是否找到,至多進(jìn)行l(wèi)og2(n)次查找就能得到結(jié)果;而使用順序查找算法,在最壞的情況下需要進(jìn)行n次查找,在最好的情況下需要查找1次,平均查找次數(shù)為(n+1)/2。
5、思考題
(1)下列有關(guān)查找的說法,正確的是( )。
A、順序查找時(shí),被查找的數(shù)據(jù)必須有序
B、對分查找時(shí),被查找的數(shù)據(jù)不一定有序
C、順序查找總能找到要查找的關(guān)鍵字
D、一般情況下,對分查找的效率較高
(2)某列表有7個(gè)元素,依次為:19、28、30、35、39、42、48。若采用對分查找算法在該列表中查找元素48,需要查找的次數(shù)是( )。
A、1 B、2 C、3 D、4
六、模擬考題
(一)單選題:
1、編程大賽的成績排名,可以采用的算法是( )。
A、解析算法B、枚舉算法C、排序算法D、查找算法
2、對一組初始記錄無序的數(shù)據(jù):7、9、3、2、5,使用用選擇排序算法,按照從小到大順序排列,則第一輪排序的結(jié)果為( )。
A、7、 9、 2、 3、 5
B、2、 9、 3、 7、 5
C、2、 7、 9、 3、 5
D、2、 3、 5、 7、 9
3、L=[9, 2, 8, 6, 3, 4],采用選擇排序進(jìn)行升序排序,第二輪排序后的結(jié)果是( )。
A、[2, 3, 8, 6, 9, 4]
B、[2, 8, 3, 6, 4, 9]
C、[2, 6, 3, 4, 8, 9]
D、[2, 3, 4, 6, 8, 9]
4、設(shè)一組初始記錄關(guān)鍵字序列為[5, 2, 6, 3, 7],利用插入排序算法進(jìn)行升序排序,則第二次插入排序的結(jié)果為( )。
A、[5, 2, 3, 6, 7]
B、[2, 5, 3, 6, 7]
C、[2, 5, 6, 3, 7]
D、[2, 3, 5, 6, 7]
5、對于n個(gè)元素,利用順序查找算法,最壞的情況需要查找( )次才結(jié)束。
A、n B、n / 2 C、n**2 D、log2(n+1)
6、對于n個(gè)元素,利用對分查找算法,最壞的情況是查找( )次才結(jié)束。
A、n B、n / 2 C、n**1 D、log2(n)
(二)編程題
1、在一列表中產(chǎn)生n(n>=10)個(gè)50以內(nèi)的數(shù)據(jù),刪除其重復(fù)的數(shù)據(jù)并按照升序輸出,同時(shí)輸出刪除數(shù)據(jù)的個(gè)數(shù)。
例如輸入:n = 10
隨機(jī)產(chǎn)生列表:a = [1, 2, 3, 7, 4, 7, 3, 8, 5, 7]
輸出:a = [1, 2, 3, 4, 5, 7, 8]
輸出:共刪除數(shù)據(jù)為3個(gè)
請編寫程序?qū)崿F(xiàn)上述功能,或補(bǔ)全代碼。
import random
maxn = int(input("請輸入要產(chǎn)生的數(shù)據(jù)個(gè)數(shù):"))
_____1_____
for i in range(maxn):
a.append(random.randrange(1, 50, 1))
print("原始數(shù)據(jù):", a)
key, n = 0, maxn
while key < n:
i = n - 1
while _____2_____ :
i -= 1
if i == key:
key += 1
else:
a.remove( ____3____ )
n -= 1
for i in range(n):
for j in range(len(a)-1, i, -1):
if a[j] < a[j-1]:
a[j], a[j-1] = _____4_____
print("去重后排序數(shù)據(jù):", a)
print("共刪除數(shù)據(jù):", ____5____ , "個(gè)")
2、對于列表對象a = [7, 4, 7, 3, 9],用插入排序算法進(jìn)行升序排序,不分代碼如下,請補(bǔ)全代碼。
a = [7, 4, 7, 3, 9] # 初始化列表
______1______
for i in range(1, count):
key = ____2____
j = i - 1
while j >= 0 and a[j] > key:
a[j+1] = a[j]
_____3_____
a[j+1] = key
print(a)
3、科技小組分兩個(gè)小隊(duì)搜集西紅柿生長的數(shù)據(jù)信息。兩個(gè)小隊(duì)都將數(shù)據(jù)進(jìn)行了從小大大排序:a = [1, 3, 4, 6, 7, 13, 17, 21],b = [2, 5, 6, 8, 10, 12, 14, 16, 18]。請將這兩個(gè)小隊(duì)的數(shù)據(jù)進(jìn)行合并,生成一個(gè)從小到大排列的有序列表。
輸入:
1,3,4,6,7,13,17,21
2,5,6,8,10,12,14,16,18
輸出:
[1, 2, 3, 4, 5, 6, 6, 7, 8, 10, 12, 13, 14, 16, 17, 18, 21]
請編寫程序?qū)崿F(xiàn)上述功能,或補(bǔ)全代碼。
x = input()
s = x.split(',')
a = []
for i in range(_____1_____):
a.append(int(s[i]))
y = input()
s = y._____2_____
b = []
for i in range(len(s)):
b.append(int(s[i]))
ret = []
i = j = 0
while len(a) >= i + 1 and _____3_____:
if a[i] <= b[j]:
_____4_____
i += 1
else:
ret.append(b[j])
j += 1
if len(a) > i:
ret += a[i:]
if len(b) > j:
_____5_____
print(ret)
- 本地下載地址:
- 僅下載APK文件
- 探月少兒編程校園版下載 v4.3.1 安卓版
教育學(xué)習(xí) | 168.02MB
- 探月少兒編程破解版app v4.3.1 安卓版
教育學(xué)習(xí) | 168.02MB
- 探月少兒編程APP下載安裝 v4.3.1 安卓版
教育學(xué)習(xí) | 168.02MB
- 編程貓Kids校園版app最新版下載 v1.7.9 安卓版
教育學(xué)習(xí) | 194.73MB
- 編程貓Nemo安卓最新版下載 v4.6.1 手機(jī)版
教育學(xué)習(xí) | 100.86MB