摘要:一般所有高級語言,都包含如下語句,也不例外循環(huán)語句容許一些語句反復(fù)運行數(shù)次。條件語句容許僅當(dāng)某些條件成立時才運行某個區(qū)塊。無條件分支語句容許運行順序轉(zhuǎn)移到程序的其他部分之中。零基礎(chǔ)學(xué)我在上的文章,隨時更新修改。
一般編程的教材,都是要把所有的變量類型講完,然后才講語句。這種講法,其實不符合學(xué)習(xí)的特點。學(xué)習(xí),就是要循序漸進的。在這點上,我可以很吹一通了,因為我做過教師,研究教育教學(xué),算是有一點心得的。所以,我在這里就開始講授語句。
什么是語句在前面,我們已經(jīng)寫了一些.py的文件,這些文件可以用python來運行。那些文件,就是由語句組成的程序。
為了能夠嚴(yán)謹(jǐn)?shù)仃U述這個概念,我還是要抄一段維基百科中的詞條:命令式編程
命令式編程(英語:Imperative programming),是一種描述電腦所需作出的行為的編程范型。幾乎所有電腦的硬件工作都是指令式的;幾乎所有電腦的硬件都是設(shè)計來運行機器碼,使用指令式的風(fēng)格來寫的。較高級的指令式編程語言使用變量和更復(fù)雜的語句,但仍依從相同的范型。
運算語句一般來說都表現(xiàn)了在存儲器內(nèi)的數(shù)據(jù)進行運算的行為,然后將結(jié)果存入存儲器中以便日后使用。高級命令式編程語言更能處理復(fù)雜的表達(dá)式,可能會產(chǎn)生四則運算和函數(shù)計算的結(jié)合。
一般所有高級語言,都包含如下語句,Python也不例外:
循環(huán)語句:容許一些語句反復(fù)運行數(shù)次。循環(huán)可依據(jù)一個默認(rèn)的數(shù)目來決定運行這些語句的次數(shù);或反復(fù)運行它們,直至某些條件改變。
條件語句:容許僅當(dāng)某些條件成立時才運行某個區(qū)塊。否則,這個區(qū)塊中的語句會略去,然后按區(qū)塊后的語句繼續(xù)運行。
無條件分支語句容許運行順序轉(zhuǎn)移到程序的其他部分之中。包括跳躍(在很多語言中稱為Goto)、副程序和Procedure等。
循環(huán)、條件分支和無條件分支都是控制流程。
if語句談到語句,不要被嚇住??聪旅娴睦酉龋?/p>
if a==4: print "it is four" else: print "it is no four"
逐句解釋一番,注意看注釋。在這里給列為看官提醒,在寫程序的是由,一定要寫必要的注釋,同時在閱讀程序的時候,也要注意看注釋。
if a==4: #如果變量a==4是真的,a==4為True,就 print "it is four" #打印“it is four”。 else: #否則,即a==4是假的,a==4為False,就 print "it is not four" #打印“it is not four”。
以上幾句話,就完成了一個條件判斷,在不同條件下做不同的事情。因此,if語句,常被翻譯成“條件語句”。
條件語句的基本樣式結(jié)構(gòu):
if 條件1: 執(zhí)行的內(nèi)容1 elif 條件2: 執(zhí)行的內(nèi)容2 elif 條件3: 執(zhí)行的內(nèi)容3 else: 執(zhí)行的內(nèi)容4
執(zhí)行的內(nèi)容1、內(nèi)容2,等,稱之為語句塊。elif用于多個條件時使用,可以沒有。另外,也可以只有if,而沒有else。
提醒:每個執(zhí)行的內(nèi)容,均以縮進四個空格方式。
例1:輸入一個數(shù)字,并輸出輸入的結(jié)果,如果這個數(shù)字大于10,那么同時輸出大于10,如果小于是,同時輸出提示小于10,如果等于10,就輸出表揚的一句話。
從這里開始,我們的代碼就要越來越接近于一個復(fù)雜的判斷過程了。為了讓我們的思維能夠更明確上述問題的解決流程,在程序開發(fā)過程中,常常要畫流程圖。什么是流程圖,我從另外一個角度講,就是要讓思維過程可視化,簡稱“思維可視化”。順便自吹自擂一下,我從2004年就開始在我朝推廣思維導(dǎo)圖,這就是一種思維可視化工具。自吹到此結(jié)束??催@個問題的流程圖:
理解了流程圖中的含義,就開始寫代碼,代碼實例如下:
#! /usr/bin/env python #coding:utf-8 print "請輸入任意一個整數(shù)數(shù)字:" number = int(raw_input()) #通過raw_input()輸入的數(shù)字是字符串 #用int()將該字符串轉(zhuǎn)化為整數(shù) if number == 10: print "您輸入的數(shù)字是:%d"%number print "You are SMART." elif number > 10: print "您輸入的數(shù)字是:%d"%number print "This number is more than 10." elif number < 10: print "您輸入的數(shù)字是:%d"%number print "This number is less than 10." else: print "Are you a human?"
特別提醒看官注意,前面我們已經(jīng)用過raw_input()函數(shù)了,這個是獲得用戶在界面上輸入的信息,而通過它得到的是字符串類型的數(shù)據(jù)??梢栽贗DLE中這樣檢驗一下:
>>> a=raw_input() 10 >>> a "10" >>> type(a)>>> a=int(a) >>> a 10 >>> type(a)
剛剛得到的那個a就是str類型,如果用int()轉(zhuǎn)換一下,就變成int類型了。
看來int()可以將字str類型的數(shù)字轉(zhuǎn)換為int類型,類似,是不是有這樣的結(jié)論呢:str()可以將int類型的數(shù)字轉(zhuǎn)化為str類型.建議看官實驗一下。
上述程序的后面,就是依據(jù)條件進行判斷,不同條件下做不同的事情了。需要提醒的是在條件中:number == 10,為了閱讀方便,在number和==之間有一個空格最好了,同理,后面也有一個。這里的10,是int類型,number也是int類型.
上面的程序不知道是不是搞懂了?如果沒有,可以通過QQ跟我聯(lián)系,我的QQ公布一下:26066913,或者登錄我的微博,通過微博跟我聯(lián)系,當(dāng)然還可以發(fā)郵件啦。我看到您的問題,會答復(fù)的。在github上跟我互動,是我最歡迎的。
最后,給看官留一個練習(xí)題目:
課后練習(xí):開發(fā)一個猜數(shù)字游戲的程序。即程序在某個范圍內(nèi)指定一個數(shù)字,比如在0到9范圍內(nèi)指定一個數(shù)字,用戶猜測程序所指定的數(shù)字大小。
請看官自己編寫。我們會在后面討論這個問題。
小知識不知道各位是否注意到,上面的那段代碼,開始有一行:
#! /usr/bin/env python
這是什么意思呢?
這句話以#開頭,表示本來不在程序中運行。這句話的用途是告訴機器尋找到該設(shè)備上的python解釋器,操作系統(tǒng)使用它找到的解釋器來運行文件中的程序代碼。有的程序里寫的是/usr/bin python,表示python解釋器在/usr/bin里面。但是,如果寫成/usr/bin/env,則表示要通過系統(tǒng)搜索路徑尋找python解釋器。不同系統(tǒng),可能解釋器的位置不同,所以這種方式能夠讓代碼更將擁有可移植性。對了,以上是對Unix系列操作系統(tǒng)而言。對與windows系統(tǒng),這句話就當(dāng)不存在。
零基礎(chǔ)學(xué)python我在github上的文章,隨時更新修改。因為在撰寫過程中,會有朋友提出意見和建議,自己也會對某個地方有新的想法。所以,恭請各位到那里看最新的,地址如下:
https://github.com/qiwsir/ITArticles/blob/master/BasicPython/index.md
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/37318.html
摘要:在學(xué)習(xí)語句的時候,對編程的基礎(chǔ)知識了解的還不是很多,或許沒有做什么太復(fù)雜的東西??梢酝ㄟ^一個內(nèi)置函數(shù)來判斷一個條件的結(jié)果還是。有朋友需要看完整教程內(nèi)容,請點擊零基礎(chǔ)學(xué),這里會及時更新,并且有完整的目錄結(jié)構(gòu),更吸納了朋友們提出的意見和建議。 看官是否記得,在上一部分的時候,有一講專門介紹if語句的:從if開始語句的征程。在學(xué)習(xí)if語句的時候,對python編程的基礎(chǔ)知識了解的還不是很多,...
摘要:在學(xué)生時代,就羨慕實驗室,老師在里面可以鼓搗各種有意思的東西。再后來,終于發(fā)現(xiàn)原來計算機是一個最好的實驗室。通過實驗,研究清楚了,才能在編程實踐中使用。其實,這就是一個非常好的實驗室。 在學(xué)生時代,就羨慕實驗室,老師在里面可以鼓搗各種有意思的東西。上大學(xué)的時候,終于有機會在實驗室做大量實驗了,因為我是物理系,并且,遇到了一位非常令我尊敬的老師——高老師,讓我在他的實驗室里面,把所有已經(jīng)...
摘要:上一講和本講的標(biāo)題是大話題小函數(shù),所謂大話題,就是這些函數(shù)如果溯源,都會找到聽起來更高大上的東西。是提出的一個軟件架構(gòu),用于大規(guī)模數(shù)據(jù)集大于的并行運算。 上一講和本講的標(biāo)題是大話題小函數(shù),所謂大話題,就是這些函數(shù)如果溯源,都會找到聽起來更高大上的東西。這種思維方式絕對我堅定地繼承了中華民族的優(yōu)良傳統(tǒng)的。自從天朝的臣民看到英國人開始踢足球,一直到現(xiàn)在所謂某國勃起了,都一直在試圖論證足球起...
摘要:語句,遍列列表字符串字典集合等迭代器,依次處理迭代器中的每個元素。與配合使用處理在程序運行中出現(xiàn)的異常情況。表示此行為空,不運行任何操作。在迭代器函數(shù)內(nèi)使用,用于返回一個元素。恭請到上瀏覽及時更新的教程零基礎(chǔ)學(xué) 小孩子剛剛開始學(xué)說話的時候,常常是一個字一個字地開始學(xué),比如學(xué)說餃子,對他/她來講,似乎有點難度,大人也聰明,于是就簡化了,用餃餃來代替,其實就是讓孩子學(xué)會一個字就能表達(dá)。當(dāng)然...
摘要:函數(shù)的基本結(jié)構(gòu)中的函數(shù)基本結(jié)構(gòu)函數(shù)名參數(shù)列表語句幾點說明函數(shù)名的命名規(guī)則要符合中的命名要求。在中,將這種依賴關(guān)系,稱之為多態(tài)。不要期待在原處修改的函數(shù)會返回結(jié)果比如一定要之用括號調(diào)用函數(shù)不要在導(dǎo)入和重載中使用擴展名或路徑。 在本教程的開始部分,就已經(jīng)引入了函數(shù)的概念:《永遠(yuǎn)強大的函數(shù)》,之所以那時候就提到函數(shù),是因為我覺得函數(shù)之重要,遠(yuǎn)遠(yuǎn)超過一般。這里,重回函數(shù),一是復(fù)習(xí),二是要在已經(jīng)...
閱讀 3702·2021-11-23 09:51
閱讀 1704·2021-10-22 09:53
閱讀 1379·2021-10-09 09:56
閱讀 889·2019-08-30 13:47
閱讀 2182·2019-08-30 12:55
閱讀 1624·2019-08-30 12:46
閱讀 1146·2019-08-30 10:51
閱讀 2436·2019-08-29 12:43