1.選擇排序
選擇排序的思路是:用python實現:比如:25 14 43 36 7 28 按照公升序進行排序 ----->7 14 25 28 36 43
第0輪:固定25,將25與14比較,14 25 43 36 7 28
將14與43比較,14 25 43 36 7 28
將14與36比較,14 25 43 36 7 28
將14與7比較, 7 25 43 36 14 28
將7與28比較, 7 25 43 36 14 28
第0輪結束後,將最小的7排了出來
第1輪:對於 7 25 43 36 14 28 ,固定25
將25與43比較,25 43 36 14 28
將25與36比較,25 43 36 14 28
將25與14比較,14 43 36 25 28
將14與28比較,14 43 36 25 28
第1輪結束後,將第二小14排了出來
第2輪:對於43 36 25 28,固定43
將43與36比較,36 43 25 28
將36與25比較,25 43 36 28
將25與28比較,25 43 36 28
第2輪結束後,將第三小25排了出來
第3輪:對於43 36 28,固定43
將43與36比較,36 43 28
將36與28比較,28 43 36
第3輪結束後,將第四小28排了出來
第4輪:對於43 36,固定43
將43與36比較,36 43
第4輪結束後,將第五小36排了出來,最後乙個43也 排了出來
所以:按照公升序排序後:7 14 25 28 36 43
list1 =[25
,14,43
,36,7
,28]#外層迴圈次數
for i in
range
(len
(list1)-1
):for j in
range
(i +1,
len(list1)):
if list1[i]
> list1[j]
: list1[i]
,list1[j]
= list1[j]
,list1[i]
print
(list1)--
----
----
----
---2023年7月13日11:49
:21程式執行結果為:[7
,14,25
,28,36
,43]-
----
----
----
----
難點分析:2.質數判斷1.使用巢狀迴圈
2.外層迴圈次數分析,為什麼range後面是len(list1 - 1)?
按照以上例子分析,i為輪數,6個數比較,比較了4輪,取值範圍是0-4------>0- len-2------>0-range(len-1)-------->range(len-1)
3.內層迴圈次數分析,j為比較的次數,第0輪的時候比較了5次,參與比較的是第0個元素依次與第1個、第2個、第3個、第4個、第5個元素;第1輪的時候比較了4次,參與比較的是第1個元素依次與第2個、第3個,第4個,第5個元素……可以發現,每一輪第一次比較的數剛好為i(輪數)+1,最後一次的數剛好是list1的長度-1,所以用range表示的話就是range(i + 1,len(list1))。
封裝乙個函式,判斷是否是質數?思路:給乙個數a,你如果在2~(a-1)之間找到乙個數能被a整除,這個數就不是質數。
a = int(input("請輸入乙個數:"))
def isprime(a):
if a <= 1:
return false
else:
result = true
for i in range(2,a):
if a % i == 0:
return false
return result
print(isprime(a))
難點分析:主要的思路就是將思路用**寫出來,然後就要想到用for迴圈去遍歷直到a-1。3.值傳遞和引用傳遞
(1)先總結一下python的資料型別:數字型number,列表list,字典dict,元組tuple,集合set,字串型string,布林型boolean,空值none。
其中,不可變資料型別有:數字型number,元組tuple,字串string,布林boolean
可變資料型別有:列表list,字典dict,集合set
那什麼又是可變資料型別,什麼又是不可變資料型別呢?
可變的資料型別,可以增加、刪除、修改其中的元素;
不可變資料型別,一旦被定義,則不能做任何改變,比如一旦需要對字串進行修改,則一定表示生成乙個新的字串
(2)接著說一下什麼是值傳遞,什麼是引用傳遞?值傳遞傳遞的是不可變的資料型別,引用傳遞傳遞的是可變的資料型別
在函式傳參的過程中:
值傳遞:如果形參被修改,對實參沒有任何影響
引用傳遞:如果形參被修改,則實參會隨著被修改
c 函式傳參 值傳遞 指標傳遞 引用傳遞
1 將變數名作為實參和形參 這時傳給形參的是變數的值,傳遞是單向的。如果在執行函式期間形參的值發生變化,並不傳回實參。應為在呼叫函式時,形參和實參不是同乙個儲存單元。2 傳遞變數的指標 形參是指標變數,實參是乙個變數的位址,呼叫函式時,形參指向實參變數單元。可以通過形參指標修改實參的值。3 c 提供...
C 傳遞引用與傳指標 傳值的區別
引用就是某一變數 目標 的乙個別名,對引用的操作與對變數直接操作完全一樣。引用的宣告方法 型別識別符號 引用名 目標變數名 引用最大的好處就是提高函式效率以及節省空間 值傳遞 pass by value 指標傳遞 pass by pointer 當發生函式呼叫時,需要給形參分配儲存單元 當傳遞是物件...
python的引數傳遞是值傳遞還是引用傳遞?
函式引數傳遞機制,傳值和引用的是什麼意思?函式引數傳遞機制問題在本質上是呼叫函式 過程 和被呼叫函式 過程 在呼叫發生時進行通訊的方法問題。基本的引數傳遞機制有兩種 值傳遞和引用傳遞。值傳遞 passl by value 過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在堆疊中開闢了記憶體...