摘要:畫圈換一個說法就是循環。就相當于讓依次等于中的各個值。例找出以內的能夠被整除的正整數。以上做了簡單分析,要實現流程,還需要細化一下。代碼代碼運行結果這里僅僅列舉一個簡單的例子,看官可以在這個例子基礎上深入打印某范圍內的偶數奇數等。
畫圈?換一個說法就是循環。循環,是高級語言編程中重要的工作。現實生活中,很多事情都是在循環,日月更迭,斗轉星移,無不是循環;王朝更迭,尋常百姓,也都是循環。
在python中,循環有一個語句:for語句。
簡單的for循環例子>>> hello = "world" >>> for i in hello: ... print i ... w o r l d
上面這個for循環是怎么工作的呢?
hello這個變量引用的是"world"這個str類型的數據
變量 i 通過hello找到它所引用的"world",然后從第一字符開始,依次獲得該字符的引用。
當 i="w"的時候,執行print i,打印出了字母w,結束之后循環第二次,讓 i="e",然后執行print i,打印出字母e,如此循環下去,一直到最后一個字符被打印出來,循環自動結束
順便補充一個print的技巧,上面的打印結果是豎著排列,也就是每打印一個之后,就自動換行。如果要讓打印的在一行,可以用下面的方法,在打印的后面加一個逗號(英文)
>>> for i in hello: ... print i, ... w o r l d >>> for i in hello: ... print i+",", #為了美觀,可以在每個字符后面加一個逗號分割 ... w, o, r, l, d, >>>
因為可以通過使用索引編號(偏移量)做為下表,得到某個字符。所以,還可以通過下面的循環方式實現上面代碼中同樣功能:
>>> for i in range(len(hello)): ... print hello[i] ... w o r l d
其工作方式是:
len(hello)得到hello引用的字符串的長度,為5
range(len(hello),就是range(5),也就是[0, 1, 2, 3, 4],對應這"world"每個字母的編號,即偏移量。
for i in range(len(hello)),就相當于for i in [0,1,2,3,4],讓i依次等于list中的各個值。當i=0時,打印hello[0],也就是第一個字符。然后順序循環下去,直到最后一個i=4為止。
以上的循環舉例中,顯示了對字str的字符依次獲取,也涉及了list,感覺不過癮呀。那好,看下面對list的循環:
>>> ls_line ["Hello", "I am qiwsir", "Welcome you", ""] >>> for word in ls_line: ... print word ... Hello I am qiwsir Welcome you >>> for i in range(len(ls_line)): ... print ls_line[i] ... Hello I am qiwsir Welcome you上一個臺階
我們已經理解了for語句的基本工作流程,如果寫一個一般化的公式,可以這么表示:
for 目標 in 對象: 操作語句
用for語句來解決一個實際問題。
例:找出100以內的能夠被3整除的正整數。
分析:這個問題有兩個限制條件,第一是100以內的正整數,根據前面所學,可以用range(1,100)來實現;第二個是要解決被3整除的問題,假設某個正整數n,這個數如果能夠被3整除,也就是n%3(%是取余數)為0.那么如何得到n呢,就是要用for循環。
以上做了簡單分析,要實現流程,還需要細化一下。按照前面曾經講授過的一種方法,要畫出問題解決的流程圖。
下面寫代碼就是按圖索驥了。
代碼:
#! /usr/bin/env python #coding:utf-8 aliquot = [] for n in range(1,100): if n%3 == 0: aliquot.append(n) print aliquot
代碼運行結果:
[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
這里僅僅列舉一個簡單的例子,看官可以在這個例子基礎上深入:打印某范圍內的偶數/奇數等。
如果要對list的循環進行深入了解的,可以到我專門撰寫的python and algorithm里面閱讀有關文章
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45289.html
摘要:有的前面有空格,有的后面有空格去掉元素前后的空格這是一個有意思的內置函數,本來我們可以通過的方式得到一個的每個元素編號,然后在用的方式得到該元素。 對于list,由于她的確非常非常龐雜,在python中應用非常廣泛,所以,雖然已經介紹完畢了基礎內容,這里還要用一講深入一點點,往往越深入越... list解析 先看下面的例子,這個例子是想得到1到9的每個整數的平方,并且將結果放在li...
摘要:操練一下字符串吧。它是在告訴計算機,它里面包裹著的是一個字符串。連接字符串方法在中按照下面方法操作老齊教老齊教這是一種最簡單連接兩個字符串的方法。請看官字符編碼就知道了。 如果對自然語言分類,有很多中分法,比如英語、法語、漢語等,這種分法是最常見的。在語言學里面,也有對語言的分類方法,比如什么什么語系之類的。我這里提出一種分法,這種分法尚未得到廣大人民群眾和研究者的廣泛認同,但是,我相...
摘要:萊布尼茲所指的函數現在被稱作可導函數,數學家之外的普通人一般接觸到的函數即屬此類。中文的函數一詞由清朝數學家李善蘭譯出。前面提供的維基百科中的函數詞條,里面可以做一個概覽。 函數,對于人類來講,能夠發展到這個數學思維層次,是一個飛躍。可以說,它的提出,直接加快了現代科技和社會的發展,不論是現代的任何科技門類,乃至于經濟學、政治學、社會學等,都已經普遍使用函數。 下面一段來自維基百科(...
摘要:我的決定是學人工智能,當時對這個比較感興趣。從機器學習學到深度學習再學回機器學習。面試,成功地去公司從事機器學習深度學習方面的基礎工作。這個系列不僅僅以學習為目的,目的是為了達到機器學習的工作入門標準。 每個字都是經驗所得,都是站在一個零基礎的人的角度寫的,純手打+網上優秀資源整合,希望大家能每個字都認真看。 接下來文章會側重在以下幾方面 1、零基礎如何進行人工智能的自學(以找工作為目...
閱讀 1647·2021-11-24 09:39
閱讀 3099·2021-11-22 15:24
閱讀 3096·2021-10-26 09:51
閱讀 3285·2021-10-19 11:46
閱讀 2896·2019-08-30 15:44
閱讀 2223·2019-08-29 15:30
閱讀 2541·2019-08-29 15:05
閱讀 778·2019-08-29 10:55