從零開始的Python計劃 #4.2 【循環】


來更新了!讓大家久等惹w。很意外也很高興有這麼多人來看文章內容,今後我會寫得更加仔細的!小白們要一起努力!不敢保證看了文章後一定會學得很厲害,但是文章都看懂的話,一定可以慢慢學會Python這個神奇的語言的>-<,基礎知識一定不可以懈怠。朋友對我說學編程就跟搭積木一樣,一點點堆,一個一個來,就好了。

重複結構(循環語句)

循環基本上是一個重複結構,通常用在必須編寫多次執行相同任務的代碼,這是最典型的編程。

假如我們需要輸入10個數字並將這些數字相加,在一切我們迄今已知的Python內容(之前文章更的內容)中,我們可以這樣做: 在這裏插入圖片描述這樣十次不算多,但是讓我們添加百位,千位的數字,我們將不得不復制粘貼代碼重複百次,千次。這樣會有一個巨大的文件,只是爲了一些數字的加法運算,這樣既繁瑣也不有效。

所以有更好的方式來解決
重複結構:使計算機根據需要重複包含的代碼-包括條件控制循環和計數控制循環
所以我們可以告訴計算機重複具體數量的代碼,按照我們所希望的次數去進行。

1)while循環:條件控制循環

while循環:當條件爲true時,執行一些操作
while是個英文單詞,它的含義是指在Python中,當某些事情是真的時,做其他的事情,
這個循環由兩個部分組成:1·測試條件真假(所以我們需要給while循環條件去進行測試)2·只要條件爲真,語句就會重複(在while裏面的語句將會被重複)
一般格式語法:

這裏是引用
在condition裏定義我們需要什麼是真的,然後縮進while語句,這樣代碼語句就可以重複了

看一下流程圖可以更好地解釋:

循環路線:
在這裏插入圖片描述爲了使循環停止執行,必須在循環內發生一些事情以使條件爲false

再介紹一個概念 :迭代:循環主體的一次執行(進行一次while被看作一次迭代

想發個短視頻來更好地解釋的,結果發現發不了。。。。如果有需要的話,可以私信給我,我一個一個發。

舉個簡單的代碼看一下吧:

a = 1
while a < 10
	print(a)
	a += 2

從1開始進入while循環,當循環中的加法結果大於10時,離開while循環。這是個很好了解while循環的有效途徑。

2)for循環:計數控制循環

計數控制循環:迭代特定次數
for語句設計用於處理數據項序列-對序列中的每個項目重複一次

一般格式:
在這裏插入圖片描述
目標變量:每次迭代開始時賦值的目標變量val1,val2等這些是目標變量,這些變量會依次在函數進行循環

for循環圖形解釋:

在這裏插入圖片描述
解釋列表變量的值依次在for循環中重複(num是變量名)

range函數

在for循環中使用range函數
range函數能簡化編寫for循環的過程
在我們調用範圍時,range返回一個可迭代的對象
可迭代:包含一系列可以迭代的值

看一下下圖的對比:
在這裏插入圖片描述
end="表示不要換行,結果打印在一行裏

右邊的range(5)是一個較短的版本,來告訴python同樣的事情,表示創建5以內的範圍(數字0-5)並且將它傳遞給for循環迭代
可以想象一下,假設我們有一個幾千數字的列表,用range函數會更加高效,而不用把幾千個數字全部寫出來.
range顯然有一些特點:範圍函數可以接受1個,2個或3個參數
一個參數:用於結束限制( 區間是[,) ),就拿上面例子來說,range(5 )循環會迭代到4,因爲5是排除的終止數;
兩個參數:會被解釋成起始值和結束限制。起始值包含在內,結束值不包含在內。(比如range(5,10)意味着它將返回5-10之間的整數5,6,7,8,9,卻不包括10,跟上面例子一個道理的)
三個參數:則是開始值,結束值,迭代的步長值
意思就是可以設定特定的數字間隔:

看一下對比,就可以更好地明白了:在這裏插入圖片描述
開始值是10,結束值是0,0不被包括,步長值是-3,每次迭代的值將-3

3)for循環和while循環的示例對比

for循環示例

(1)

def get_sum():
	sum = 0
    for count in range(1, 11):
    	n = int(input("Enter number %d : " %count))
        sum += n # this is equivalent to sum = sum + n
	print("Here is sum %d" %sum)

它會加上10次輸入的數字得出和,最後在控制檯打印結果55:

這個循環有10次迭代,11不被包括,並且從1開始,避免了0.每次用戶輸入的數字,數字和變量sum相加,當for循環結束,退出循環,得到結果在這裏插入圖片描述

(2)

def for_test():
    for i in range(0, 10, 2):
        i += 1
        print(i)
for_test()

會得到結果:1 3 5 7 9
這是因爲每次迭代的時候都會有一個i += 1

(3)

def for_test_str():
  colors = ["red", "blue","orange",
    "green", "white", "purple"]
  for i in colors:
        print(i)
for_test_str()

得到結果:red blue orange green white purple
可以看出for循環可使用任何數據類型的序列,而不僅僅是數字。

while循環示例
def get_sum():
	sum=0
	count = 1
	while count <= 10:
			n = int(input("Enter number %d : " %count))
			sum += n #thisisequivalenttosum=sum+n
			count += 1 # this is equivalent to count = count + 1
	print("Here is sum %d" %sum)

這個有一點點難度,這是基於條件的while循環
條件爲真,則while循環運行

得到結果是這樣的:
在這裏插入圖片描述

所以你可以看到,有時侯while循環更好,但有時候我們需要定義循環的次數,for循環更容易去閱讀

4)嵌套循環

嵌套循環:包含在另一個循環中的循環
我們可以聯繫到if-else語句,我們可以把一個if語句放在和縮進在另一個if語句裏面,可以有多重條件設置在內部嵌套,最後一個條件是依賴於前一個條件,同樣的道理也適用於循環。
理解這個很簡單的方法就是想想時鐘:
對於“小時”的每次迭代,執行60次“分鐘”的迭代;對於分鐘,每次迭代“分鐘”執行60次秒。

#計數分鐘的for循環
for minutes in range(60): 
	for seconds in range(60):
		print(minutes, ':', seconds)

它看起來似乎很容易,但你需要按照這個概念,否則當使用嵌套循環的時候,你會很困惑
當我們有嵌套循環的時候,最裏面的循環要走完,才能離開再返回到外一層的循環

#計數
for hours in range(24):
	for minutes in range(60):
		for seconds in range(60):
			print(hours, ':', minutes, ':', seconds)

關於嵌套循環的要點:
1·對於外部循環的每次迭代,內部循環都會經歷其所有迭代環(外面的循環會比裏面的循環運行得慢,因爲裏面的循環總是要被使用)
2·內部循環比外部循環更快地完成迭代(一次外循環,要走完裏循環才能進行下一個的外循環)

關於Python更新的內容在越來越難了,但是不要放棄,一定可以學好它的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章