來更新了!讓大家久等惹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更新的內容在越來越難了,但是不要放棄,一定可以學好它的!