006Scratch:雙迴圈-氣泡排序法進階
教學影片
<待上傳>
Scratch程式設計與設計流程圖1
Scratch程式設計與設計流程圖2(副程式)
氣泡排序法副程式設計
主程式設計
Python程式設計
程式碼1:直接用Python的排序方法(.sort)
import random
data=[]
num=int(input("請輸入總共要排序幾個數字:"))
for i in range(num):
data.append(random.randint(1,99))#.append()方法加入串列,指定亂數範圍為1-99。
data.sort()
print(data)
程式碼2:氣泡排序法(顯示每次交換的結果)
import random
def bubble_sort(data):#將氣泡排序表定義為副程式
print(data,"原始資料")#先印出未排序的數值
a=b=len(data)-1#變數a決定大迴圈次數;變數b決定小迴圈次數,每次-1
for i in range(a):#大迴圈進行的回合次數
print("\n---第%d回合---" %(i+1))#顯示第n回合
for j in range(b):#小迴圈進行的次數,b值逐漸變小
if data[j]>data[j+1]:
data[j],data[j+1]=data[j+1],data[j]#直接兩個數值互換
print(data,"第%d次" %(j+1))#印出每次氣泡比較後的結果
b-=1#每完成一回合,b值減1
print(data,"氣泡排序完成")#印出排序後的結果
data=[]#定義資料形態為串列
num=int(input("請輸入總共要排序幾個數字:"))
for i in range(num):#填入亂數
data.append(random.randint(1,99))#.append()方法加入串列,指定亂數範圍為1-99。
bubble_sort(data)#執行副程式