Python趣味入門6:能計數的循環語句for

上一篇講了while語句,朋友們是否已經摸到循環的大門了,其實在實際當中for循環遠比while循環更加經常使用。因爲涉及集合類型,我們先從數列開始。python

 

一、range數列

 

在數學上數列表達是一組有順序的數字,在Python裏能夠很容易使用range()函數(並非函數實際上是類)生成一組整數數列,用法以下:程序員

range(開始,結束,步長)

  

說明:上述代碼將會生成從「開始」(默認0)到「結束」(不包括)的整數數列,而且以「步長」(默認1)爲間隔。注意range()返回的,實際上是range類的實例,所以你直接print()顯示的話,只能顯示出range自己,結果是看不出來的,以下代碼生成0,1數列。函數

>>> range(2) 
range(0, 2) 

 

上面在提示符後輸入語句後,發現返回的結果仍是range(0,2)自己,只是補齊了默認參數,並無什麼結果。spa

找開IDLE咱們作幾個小實驗:code

 

在>>>提示符下輸入range(10),生成0-9數列:blog

>>> list(range(10)) 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> 

  說明:代碼中咱們使用了list()函數,此函數用來把range()數列轉換成"列表" 這個類型,不然看不到數列的結果。教程

 

二、for 循環

for循環也被稱爲枚舉循環,語法以下:字符串

for 變量 in 集合:     
    子語句塊
主語句

在這裏須要對上述的「變量」進行說明,for 後跟的變量由程序員自由命名,在循環體內使用的時候,變量由for語句在每次循環時自動賦值爲集合中的單個元素。下面程序能夠計算1-100的累加:數學

 

 
result = 0 #結果變量:保存每一步的計算結果 
for n in range(1,101):      
    result += n #把計算結果累加進結果變量 
print(result) 

 

三、小任務

 

傳說靖安司查出了狼衛的祕密基地在一個10層金字塔裏,爲完成消滅恐怖分子的任務要求畫出十層金字塔的樣子。for循環

 

 

 

分析過程

 

上述金字塔能夠分紅兩個部分,左半邊(不包括中間列)爲N部分。 重點分析N部分每行星號個數的變化,第0行爲 0 個,行號對應從上到下爲 0~9 的順序數列,若是設 N部分星號的數量爲變量n ,能夠得出金字塔每一行星號的總數量公式:2*n +1。
再次分析N部分的空格變化,第n行星號前空格的個數變化規律以下,第 0 行有 9 個空格,得出自上而下空格數量依次是 9,8,7,...,0,得出空格數量公式爲9-n 。

此外,字符串的乘法運算能夠進行重複,'0' * 8 就表示 '00000000'

根據上面的分析你能夠寫出程序了麼,以下?

 

for n in range(10): 
    print(' ' * (9-n) + '*' * (2*n+1)) 

 

緊跟小牛叔,動圖教程更清晰。

 
相關文章
相關標籤/搜索