python基礎(chǔ)培訓(xùn)教材至60課(基礎(chǔ))_第1頁
python基礎(chǔ)培訓(xùn)教材至60課(基礎(chǔ))_第2頁
python基礎(chǔ)培訓(xùn)教材至60課(基礎(chǔ))_第3頁
python基礎(chǔ)培訓(xùn)教材至60課(基礎(chǔ))_第4頁
python基礎(chǔ)培訓(xùn)教材至60課(基礎(chǔ))_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、【Python第0課】WhyPython?為什么用Python作為編程入門語言?原因很簡(jiǎn)單。每種語言都會(huì)有它的支持者和反對(duì)者。去Google一下“whypython”,你會(huì)得到很多結(jié)果,諸如應(yīng)用范圍廣泛、開源、社區(qū)活躍、豐富的庫、跨平臺(tái)等等等等,也可能找到不少對(duì)它的批評(píng),格式死板、效率低、國(guó)內(nèi)用的人很少之類。不過這些優(yōu)缺點(diǎn)的權(quán)衡都是程序員們的煩惱。作為一個(gè)想要學(xué)點(diǎn)編程入門的初學(xué)者來說,簡(jiǎn)單才是最重要的。當(dāng)學(xué)C+的同學(xué)還在寫鏈表,學(xué)Java的同學(xué)還在折騰運(yùn)行環(huán)境的時(shí)候,學(xué)Python的你已經(jīng)像上圖一樣飛上天了。當(dāng)然,除了簡(jiǎn)單,還有一個(gè)重要的原因:因?yàn)槲椰F(xiàn)在每天都在寫Python。雖然以后可能會(huì)講

2、些手機(jī)編程之類(如果真的有那么一天n_n),但目前這時(shí)候,各位也就看菜吃飯,有啥吃啥了。每天5分鐘,先別計(jì)較太多。況且Python還是挺有利于形成良好編程思維的一門語言。推薦兩本我個(gè)人比較喜歡的Python入門書籍,一本是簡(jiǎn)明Python教程,我自己最開始就是看著它學(xué)的,接下來也會(huì)大體參考里面的內(nèi)容講。另一本是HeadFirstPython,HeadFirst系列都是非常淺顯易懂的入門類書籍,雖然我只瞄過幾眼,但感覺還是不錯(cuò)的?!綪ython第1課】安裝進(jìn)入Python的官方下載頁面你會(huì)看到一堆下載鏈接。我們就選Python2.7.5WindowsInstaller”,如果是64位系統(tǒng)的同學(xué)選

3、下面那個(gè)“Python2.7.5WindowsX86-64Installer”。為什么不選最上面那個(gè)3.3.2的新版本?因?yàn)槲以谟胮ython2.7.x,python3改了不少地方,不熟。下載之后,就和裝其他軟件一樣,雙擊,一路Next,想換安裝路徑的同學(xué)可以換個(gè)位置。但不管換不換,請(qǐng)把這個(gè)路徑復(fù)制下來,比如我的是C:python27”,后面要用到它。安裝結(jié)束還沒完,我們還差最后一步:設(shè)置環(huán)境變量。這是什么東西我暫時(shí)先不解釋,大家照著做就好。右鍵單擊我的電腦(不,是你的電腦),依次點(diǎn)擊屬性-高級(jí)-環(huán)境變量,在“系統(tǒng)變量”表單中點(diǎn)擊叫做Path的變量,然后編輯這個(gè)變量,把“;C:Python27

4、”,也就是你剛才復(fù)制的安裝路徑,加到它的結(jié)尾。注意!要用英文分號(hào)和前面已有的內(nèi)容隔開。然后點(diǎn)確定,點(diǎn)確定,再點(diǎn)確定。完成。怎么知道你已經(jīng)成功安裝了Python呢?這時(shí)候你需要打開命令行,或者叫命令提示符、控制臺(tái)。方法是:點(diǎn)擊開始菜單-程序-附件-命令提示符;或者直接在桌面按快捷鍵“Win+r”,Win鍵就是Ctrl和Alt旁邊那個(gè)有windows圖標(biāo)的鍵,輸入cmd,回車。這時(shí)候你就看到可愛的黑底白字了。在命令行里輸入python,回車。如果看到諸如:Python2.7.5(default,May152013,22:43:36)MSCv.150032bit(Intel)onwin32的提示文字

5、,恭喜你!否則,請(qǐng)重新檢查你哪里的打開方式不對(duì),或者直接給我留言。接下來,你就可以輸入那句程序員最愛的printHelloWorld”向Python的世界里發(fā)出第一聲啼哭。嗯。如果這么幾步你還是被繞暈了,沒關(guān)系,我還留了一手:打開你的瀏覽器,Google一下pythononline”,點(diǎn)擊第一條結(jié)果ExecutePythonScriptOnline”;或者直接打開,找到Python點(diǎn)進(jìn)去。這是一個(gè)在線的python運(yùn)行環(huán)境,你可以在這里練習(xí),無需任何下載安裝配置。左邊頁面是寫代碼的地方,點(diǎn)擊左上角的“ExecuteSctipt”,就可以在右邊頁面看到輸出結(jié)果。那Mac的同學(xué)怎么辦?Mac上叫“

6、終端”,英文版叫Terminal,可以在“應(yīng)用程序”里找到,也可以直接在你的Mac上搜索“終端”或者“Terminal”找到。打開之后輸入python”,回車,就可以進(jìn)入python了。好了,今天就這么多,快去試試你的python,輸出一行“HelloWorld”吧。完成的同學(xué)可以截個(gè)屏發(fā)給我。歡迎各種建議、討論和閑聊,當(dāng)然更歡迎你把這里分享給更多的朋友。我今天發(fā)現(xiàn)昨天提供的網(wǎng)站有時(shí)候會(huì)很慢,甚至無法正常運(yùn)行,于是我又找了一個(gè):似乎要快一點(diǎn),不過好像只能在電腦上的瀏覽器打開。另外就是,昨天忘了給Mac的同學(xué)們說一下怎么打開命令行。Mac上叫做終端”或者Terminal”,可以在應(yīng)用程序”里找到

7、,也可以直接在spotlight”里直接輸入“Terminal打開。打開后就可以通過“python”命令進(jìn)入開發(fā)環(huán)境了。print,中文意思是打印,在python里它不是往紙上打印,而是打印在命令行,或者叫終端、控制臺(tái)里面。print是python里很基本很常見的一個(gè)操作,它的操作對(duì)象是一個(gè)字符串(什么是字符串,此處按住不表,且待日后慢慢道來)?;靖袷绞牵簆rint你要打印的東西或者print(你要打印的東西)這里一定要英文字符的括號(hào),所有程序中出現(xiàn)的符號(hào)都必須是英文字符,注意別被你的輸入法坑了。各位同學(xué)可以在自己的python環(huán)境中試著輸出以下內(nèi)容(這里是命令行下的效果,使用在線編輯器或者

8、IDE的同學(xué),只需要輸入“”后面的內(nèi)容就可以了):printhellohelloprintworldworldprint11print3.143.14print3e303e+30print1+2*37print25False直接在print后面加一段文字來輸出的話,需要給文字加上雙引號(hào)或者單引號(hào)。大家發(fā)現(xiàn),print除了打印文字之外,還能輸出各種數(shù)字、運(yùn)算結(jié)果、比較結(jié)果等。你們?cè)囍约簆rint一些別的東西,看看哪些能成功,哪些會(huì)失敗,有興趣的話再猜一猜失敗的原因。其實(shí)在python命令行下,print是可以省略的,默認(rèn)就會(huì)輸出每一次命令的結(jié)果。就像這樣:YourYiDa!YourYiDa!2

9、+13+2502655“程序”-“Python2.7”里找到它。打開后之后很像我們之前用過的命令行。沒錯(cuò),它就是的,在里面print一下試試。不知之前用命令行的同學(xué)有沒有注意到,命令行輸一行命令就會(huì)返回結(jié)果,而且之前print了那么多,關(guān)掉之后也不知道到哪里去了。所以它沒法滿足我們編寫弱智小游戲的大計(jì)劃。我們需要用新的方法!點(diǎn)擊窗口上方菜單欄的File”-“NewWindow”,會(huì)打一個(gè)長(zhǎng)得很像的新窗口,但里面什么也沒有。這是一個(gè)文本編輯器,在這里面就可以寫我們的python程序了。繼續(xù)print幾行,這次可以多print一點(diǎn):printHelloprintIDEprintHereIam.現(xiàn)在

10、是,見證奇跡的時(shí)刻!點(diǎn)擊Run”-“RunModule”,或者直接按快捷鍵F5。會(huì)提示你保存剛才文件,隨便取個(gè)名字,比如“l(fā)esson3.py”(.py是python代碼文件的類型,雖然不指定.py也是可以的,但建議還按規(guī)范來)保存完畢后,之前那個(gè)控制臺(tái)窗口里就會(huì)一次性輸出你要的結(jié)果。以后想再次編輯或運(yùn)行剛才的代碼,只要在IDLE里選擇File”-Open.”,打開剛才保存的.py文件就可以了。Mac上的IDLE是預(yù)裝好了,在終端”里輸入IDLE”就可以啟動(dòng),使用方法同Windows。也可以在文件夾/usr/bin里可以找到IDLE。如果是重新下載安裝了python,似乎是可以在應(yīng)用程序”里找

11、到IDLE的,Mac的同學(xué)可以驗(yàn)證下。另外,Windows下有一個(gè)第三方的免費(fèi)IDE,叫PyScripter,把文件目錄、文本編輯器、命令行都整合到了一起,還增加了很多輔助功能。有興趣的同學(xué)也可以去找來試試看。地址:用起來應(yīng)該比IDLE方便,但有一點(diǎn)要注意,它的安裝位置和.py文件的保存位置都不要有中文,不然可能會(huì)有問題。今天的內(nèi)容有點(diǎn)長(zhǎng)。配置開發(fā)環(huán)境這種事最麻煩了,大家耐心一點(diǎn),畢竟一次投入,長(zhǎng)期受益。以后我們的課程都會(huì)在IDE中進(jìn)行,基本不再往命令行里直接敲代碼了。最后說下,有很多python程序員都不使用任何IDE。至于原因嘛,可能就像優(yōu)秀的手工藝人是不會(huì)用機(jī)床來加工藝術(shù)品的吧。前pri

12、nt了那么多,都是程序在向屏幕“輸出”。那有來得有往,有借得有還,有吃??瓤龋∧巧?,我們得有向程序“輸入”信息的辦法,才能和程序?qū)υ?,進(jìn)行所謂的“人機(jī)交互”。python有一個(gè)接收命令行下輸入的方法:input()注意,和print不同的是,這次我們必須得加上()了,而且得是英文字符的括號(hào)。好了,終于可以搬出那個(gè)弱智小游戲了,耶!游戲里我們需要跟程序一問一答,所以我們先把話給說上。打開我們的python編輯器,不管是IDLE,在線編輯器,還是其他的IDE。在代碼編輯器中輸入下面幾句代碼:printWhodoyouthinkIam?input()printOh,yes!然后,Run!(Forre

13、stRun!)你會(huì)在命令行中看到,程序輸出了第一句之后就停住了,這是input在等待你的輸入。輸入你的回答,回車。你會(huì)看到程序的回答。注意!引號(hào)!又是引號(hào)!和print一樣,如果你輸?shù)氖且淮淖?,要用引?hào)或者引起來,如果是數(shù)字則不用。(插一句,python還有一個(gè)輸入的方法:raw_input(),它把所有的輸入都直接當(dāng)作一串字符,于是就可以不用加引號(hào),有興趣的同學(xué)可以試一試,體會(huì)一下兩者的不同。關(guān)于這個(gè)令人糾結(jié)的引號(hào),我們以后會(huì)再討論它。)看上去不錯(cuò)哦,似乎就這么對(duì)上話了。是不是覺得離小游戲的完成邁進(jìn)了一大步?可是大家發(fā)現(xiàn)沒有,即使你說Idiot!,程序仍然會(huì)淡定地回答Oh,yes!因?yàn)樗?/p>

14、耳進(jìn)右耳出,根本就沒聽進(jìn)去我們到底說了啥。那怎么才能讓它認(rèn)真聽話呢?啪!且聽下回分解?;仡櫼幌挛覀冎皫坠?jié)課。我們到現(xiàn)在一共提到了三種可以運(yùn)行print的方式:命令行,包括Win下的控制臺(tái)(CMD)和Mac下的終端(Terminal)。它可以幫我們確認(rèn)自己電腦上的python是不是正常。但是這種方法很難幫我們實(shí)現(xiàn)寫一個(gè)完整小程序的目標(biāo)。IDE,包括python自帶的IDLE和其他第三方的IDE。不知道大家是不是都順利搞定,并且能順利保存并打開py文件了呢?以后我們課程里的內(nèi)容,你都可以在這里面進(jìn)行。在線編輯器,compileonline或者pythonfiddle。他們同樣包括代碼編輯器(寫代

15、碼的地方)和控制臺(tái)(輸出結(jié)果的地方)兩部分。所以我們?cè)诒镜豂DE里的操作都可以在其中實(shí)現(xiàn)。只不過保存文件會(huì)有些復(fù)雜,compileonline是點(diǎn)擊downloadfiles打包下載,pythonfiddle需要注冊(cè)一下。當(dāng)然,你也可以直接把你寫好的代碼復(fù)制下來,保存在本地,下次再粘貼上去接著寫。昨天說到,需要讓程序理解我們輸入的東西。那首先,就需要有東西把我們輸入的內(nèi)容記錄下來,好為接下來的操作做準(zhǔn)備。Python之神說,要有變量!于是就有了變量。變量,望文生義,就是變化的量。python里創(chuàng)建一個(gè)變量的方法很簡(jiǎn)單,給它起個(gè)名字,然后給它一個(gè)值。舉起幾個(gè)栗子:name=CrossinmyVa

16、r=123price=5.99visible=True“=”的作用是把右邊的值賦予給左邊的變量。這里說一下另外一個(gè)概念,叫做“數(shù)據(jù)類型”,上面4顆栗子分別代表了python中較常見的四種基本類型:字符串-表示一串字符,需要用或引起來整數(shù)浮點(diǎn)數(shù)-就是小數(shù)bool(布爾)-這個(gè)比較特殊,是用來表示邏輯是非的一種類型,它只有兩個(gè)值,True和False。(注意這里沒有引號(hào),有了引號(hào)就變成字符串了)再次用到我們熟悉的print。這次,我們升級(jí)了,要用print輸出一個(gè)“變量”:name=Crossinprintname看到結(jié)果了嗎?沒有輸出“name”,也沒有報(bào)錯(cuò),而是輸出了“Crossin”?,F(xiàn)在是

17、不是能想明白一些,為什么之前print一段文字沒加引號(hào)就會(huì)報(bào)錯(cuò),而print一個(gè)數(shù)字就沒有問題呢?它叫變量,那就是能變的。所以在一次“賦值”操作之后,還可以繼續(xù)給它賦予新的值,而且可以是不同類型的值。a=123printaa=hiprinta“=”的右邊還可以更復(fù)雜一點(diǎn),比如是一個(gè)計(jì)算出的值value=3*4printvaluevalue=25printvalue甚至,也可以是input():name=input()printname于是,我們又可以進(jìn)化一下我們的小游戲了。把上次寫的內(nèi)容稍微改一下,加上變量printWhodoyouthinkIam?you=input()printOh,yes

18、!Iamaprintyou看來程序已經(jīng)知道我們的輸入了。接下來,就要讓它學(xué)會(huì)對(duì)不同的答案做出判斷。這個(gè)我們留到下次再說。今天是周五。我覺得吧,到周末了,大家應(yīng)該遠(yuǎn)離一下電腦,多陪陪家人朋友,吃吃飯,出去走走。祝大家周末愉快!昨天說到了python中的幾個(gè)基本類型,字符串、整數(shù)、浮點(diǎn)數(shù)都還算好理解,關(guān)于剩下的那個(gè)bool(布爾值)我要稍微多說幾句。邏輯判斷在編程中是非常重要的。大量的復(fù)雜程序在根本上都是建立在“真”與“假”的基本邏輯之上。而bool所表示的就是這種最單純最本質(zhì)的True/Flase,真與假,是與非。來看下面的例子:a=1c通過用“”“:大于=:大于等于=:小于等于=:等于。比較兩

19、個(gè)值是否相等。之所以用兩個(gè)等號(hào),是為了和變量賦值區(qū)分開來。!=:不等與not:邏輯非”。如果x為True,則notx為Falseand:邏輯與”。如果x為True,且y為True,則xandy為Trueor:邏輯或”。如果x、y中至少有一個(gè)為True,則xory為True關(guān)于bool值和邏輯運(yùn)算其實(shí)遠(yuǎn)不止這些,但現(xiàn)在我們暫時(shí)不去考慮那么多,以免被繞得找不到北。最基本的大于、小于、等于已經(jīng)夠我們先用一用的了。試試把bool加到我們的小游戲里:num=10printGuesswhatIthink?answer=input()result=answernumprinttoobig?printresu

20、ltresult=answer=numprintequal?printresult代碼比之前稍微多了一點(diǎn),解釋一下。第一段代碼:先創(chuàng)建一個(gè)值為10的變量num,輸出一句提示,然后再輸入一個(gè)值給變量answer。第二段代碼:計(jì)算answernum的結(jié)果,記錄在result里,輸出提示,再輸出結(jié)果。第三段、第四段都與第二段類似,只是比較的內(nèi)容不一樣。看看結(jié)果是不是跟你預(yù)期的一致?雖然看上去還是有點(diǎn)傻,但是離目標(biāo)又進(jìn)了一步?,F(xiàn)在數(shù)數(shù)你手上的工具:輸入、輸出,用來記錄數(shù)值的變量,還有可以比較數(shù)值大小的邏輯運(yùn)算。用它們?cè)谀愕膒ython里折騰一番吧。繼續(xù)上次的程序。我們已經(jīng)能讓判斷我們輸入的值了,但這程

21、序還是有點(diǎn)呆,不過怎樣都要把話說三遍。因?yàn)榈侥壳盀橹?,我們的程序都是按照順序從上到下一行接一行地?zhí)行。有同學(xué)發(fā)來問題了:怎么能讓它根據(jù)我們輸入的結(jié)果來選擇執(zhí)行呢?答案就是-if來看一張圖(純手繪,渣畫質(zhì))解釋一下,程序順序往下執(zhí)行遇到if語句的時(shí)候,會(huì)去判斷它所帶條件的真假。如果”為True,就會(huì)去執(zhí)行接下來的內(nèi)容。如果”為False,就跳過。語法為:if條件:選擇執(zhí)行的語句特別說明:條件后面的冒號(hào)不能少,同樣必須是英文字符。特別特別說明:if內(nèi)部的語句需要有一個(gè)統(tǒng)一的縮進(jìn),一般用4個(gè)空格。python用這種方法替代了其他很多編程語言中的。你也可以選擇1/2/3.個(gè)空格或者按一下tab鍵,但必

22、須整個(gè)文件中都統(tǒng)一起來。千萬不可以tab和空格混用,不然就會(huì)出現(xiàn)各種莫名其妙的錯(cuò)誤。所以建議都直接用4個(gè)空格。上栗子:thisIsLove=input()ifthisIsLove:print再轉(zhuǎn)身就該勇敢留下來試試看?輸入True,就會(huì)得到回答。輸入False,什么也沒有。(如果你那里輸出中文有問題,請(qǐng)自行改成英文)所以,我們的游戲可以這樣改寫:num=10printGuesswhatIthink?answer=input()ifanswernum:printtoobig!ifanswer=num:printBINGO!if在編程語言中被稱為“控制流語句”,用來控制程序的執(zhí)行順序。還有其他的控

23、制流語句,后面我們會(huì)用到。重新發(fā)一下代碼thisIsLove=input()ifthisIsLove:print再轉(zhuǎn)身就該勇敢留下來num=10printGuesswhatIthink?answer=input()ifanswernum:printtoobig!ifanswer=num:printBINGO!先介紹一個(gè)新東西:注釋。python里,以“#”開頭的文字都不會(huì)被認(rèn)為是可執(zhí)行的代碼。printhelloworld”和printhelloworld#輸出一行字是同樣的效果。但后者可以幫助開發(fā)者更好地理解代碼。在接下來的課程中,我會(huì)經(jīng)常用注釋來解釋代碼。用if改進(jìn)完我們的小游戲后,功能已

24、經(jīng)基本實(shí)現(xiàn)了。很多同學(xué)做完后紛紛表示,每次只能猜一次,完了之后又得重新run,感覺好麻煩。能不能有辦法讓玩家一直猜,直到猜中為止?答案很顯然,如果這種小問題都解決不了,那python可就弱爆了。最簡(jiǎn)單的解決方法就是while。同if一樣,while也是一種控制流語句,另外它也被稱作循環(huán)語句。繼續(xù)來看渣畫質(zhì)手繪流程圖:程序執(zhí)行到while處,“當(dāng)”條件為True時(shí),就去執(zhí)行while內(nèi)部的代碼,“當(dāng)”條件為False時(shí),就跳過。語法為:while條件:循環(huán)執(zhí)行的語句同if一樣,注意冒號(hào),注意縮進(jìn)。今天的栗子:a=1#先a設(shè)為1whilea!=0:#a不等于0就一直做printpleaseinpu

25、ta=input()printover想想怎么用while改進(jìn)小游戲?有多種寫法,大家自己思考下,我不多做說明了。下圖給出一種方法。注意,這里出現(xiàn)了兩層縮進(jìn),要保持每層縮進(jìn)的空格數(shù)相同。到此為止,小游戲已經(jīng)基本成型了。不過好像還差一點(diǎn):每次自己都知道答案,這玩起來有神馬意思。明天來講,怎么讓你不知道電腦的答案。之前我們用了很多次的print和input方法,它們的作用是實(shí)現(xiàn)控制臺(tái)的輸入和輸出。除此之外,python還提供了很多模塊,用來實(shí)現(xiàn)各種常見的功能,比如時(shí)間處理、科學(xué)計(jì)算、網(wǎng)絡(luò)請(qǐng)求、隨機(jī)數(shù)等等等等。今天我就來說說,如何用python自帶的隨機(jī)數(shù)模塊,給我們的小游戲增加不確定性。引入模塊的

26、方法:from模塊名import方法名看不懂沒關(guān)系,這東西以后我們會(huì)反復(fù)用到。今天你只要記住,你想要產(chǎn)生一個(gè)隨機(jī)的整數(shù),就在程序的最開頭寫上:fromrandomimportrandint之后你就可以用randint來產(chǎn)生隨機(jī)數(shù)了。還記得input后面的()嗎,我們使用randint的時(shí)候后面也要有()。而且,還要在括號(hào)中提供兩個(gè)數(shù)字,先后分別是產(chǎn)生隨機(jī)整數(shù)范圍的下限和上限。例如:randint(5,10)這樣將會(huì)產(chǎn)生一個(gè)5到10之間(包括5和10)的隨機(jī)整數(shù)。放到我們的小游戲里,用answer=randint(1,100)替代answer=10程序在運(yùn)行時(shí)候,會(huì)產(chǎn)生一個(gè)1到100的隨機(jī)整數(shù),

27、存在answer里,我們也不知道是多少,真的全靠猜了。好了,覺得還有點(diǎn)意思么?我們終于一步步把這個(gè)弱智小游戲給做出來了,有沒有一丁點(diǎn)的成就感呢?如果你對(duì)其中的某些細(xì)節(jié)還不是很理解,恭喜你,你已經(jīng)開始入門了。相信你會(huì)帶著一顆追求真相的心,在編程這條路上不斷走下去。我們的課程,也才剛剛開始。變量這東西,我們已經(jīng)用過。有了變量,就可以存儲(chǔ)和計(jì)算數(shù)據(jù)。今天來講點(diǎn)變量的細(xì)節(jié)。#=變量命名規(guī)則=#變量名不是你想起就能起的:第一個(gè)字符必須是字母或者下劃線“_”剩下的部分可以是字母、下劃線“_”或數(shù)字(0-9)變量名稱是對(duì)大小寫敏感的,myname和myName不是同一個(gè)變量。幾個(gè)有效的栗子:i_my_nam

28、ename_23a1b2_c3幾個(gè)壞掉的栗子(想一下為什么不對(duì)):2thingsthisisspacedoutmy-name#=變量的運(yùn)算=#我們前面有用到變量來存儲(chǔ)數(shù)據(jù):num=10answer=input()也有用到變量來比較大?。篴nswernum除此之外,變量還可以進(jìn)行數(shù)學(xué)運(yùn)算:a=5b=a+3c=a+bpython中運(yùn)算的順序是,先把“=”右邊的結(jié)果算出了,再賦值給左邊的變量。下面這個(gè)例子:a=5a=a+3printa你會(huì)看到,輸出了8,因?yàn)橄扔?jì)算出了右邊的值為8,再把8賦給左邊的a。通過這種方法,可以實(shí)現(xiàn)累加求和的效果。它還有個(gè)簡(jiǎn)化的寫法:a+=3這個(gè)和a=a+3是一樣的。于是,利

29、用變量、循環(huán)、累加,可以寫一個(gè)程序,來完成傳說中高斯大牛在小時(shí)候做過的題:1+2+3+.+100=?從1加到100等于多少?提示:你可以用一個(gè)變量記錄現(xiàn)在加到幾了,再用一個(gè)變量記錄加出來的結(jié)果,通過while來判斷是不是加到100了。之前粗略地提到bool類型的變量,又說到if和while的判斷條件。有些同學(xué)反饋說沒怎么理解,為什么一會(huì)兒是bingo=False,會(huì)又是bingo=False,會(huì)兒是while在條件為True的時(shí)候執(zhí)行,一會(huì)兒又是while在bingo=False的時(shí)候執(zhí)行。別急,你聽我說。首先,要理解,一個(gè)邏輯表達(dá)式,其實(shí)最終是代表了一個(gè)bool類型的結(jié)果,比如:13#Fal

30、seprinta=2-1#Trueb=3printa+b=2+2#True比較容易搞混的,是bool變量的值和一個(gè)邏輯表達(dá)式的值,比如:a=Falseprinta#Falseprinta=False#True雖然a本身的值是False,但是a=False這個(gè)表達(dá)式的值是True。(說人話?。癮”是錯(cuò)的,但“a是錯(cuò)的這句話是對(duì)的?;氐缴厦婺菐讉€(gè)概念:bingo=False把bingo設(shè)為一個(gè)值為False的變量bingo=False判斷bingo的值是不是False,如果是,那么這句話就是Truewhile在判斷條件條件為True時(shí)執(zhí)行循環(huán),所以當(dāng)bingo=False時(shí),條件為True,循環(huán)

31、是要執(zhí)行的。暈了沒?誰剛學(xué)誰都暈。不暈的屬于骨骼驚奇百年一遇的編程奇才,還不趕緊轉(zhuǎn)行做程序員!邏輯這東西是初學(xué)編程的一大坑,我們后面還要在這個(gè)坑里掙扎很久。留個(gè)習(xí)題:a=Trueb=nota#不記得not請(qǐng)回復(fù)6想想下面這些邏輯運(yùn)算的結(jié)果,然后用print看看你想的對(duì)不對(duì):bnotba=ba!=baandbaorb1或者M(jìn)yMacBook:crossin$之類的。這個(gè)提示符表示了當(dāng)前命令行所在目錄。在這里,我們輸入python就可以進(jìn)入python環(huán)境了。但今天我們暫時(shí)不這么做。第一個(gè)常用的命令是:dir(windows環(huán)境下)ls(mac環(huán)境下)dir和ls的作用差不多,都是顯示出當(dāng)前目錄下

32、的文件和文件夾。具體效果可參見文末的附圖。第二個(gè)常用命令是:cd目錄名通過dir或ls了解當(dāng)前目錄的結(jié)構(gòu)之后,可以通過“cd目錄名”的方式,進(jìn)入到當(dāng)前目錄下的子目錄里。如果要跳回到上級(jí)目錄,可以用命令:cd.另外,Windows下如果要寫換盤符,需要輸入盤符:比如從c盤切換到d盤C:DocumentsandSettingsCrossind:有了以上兩個(gè)命令,就可以在文件目錄的迷宮里游蕩了。雖然沒可視化的目錄下的操作那么直觀,但是會(huì)顯得你更像個(gè)程序員。于是乎,再說個(gè)高階玩法:現(xiàn)在你可以不用idle那套東西了,隨便找個(gè)順手的文本軟件,把你的代碼寫好,保存好,最好是保存成py文件。然后在命令行下進(jìn)入

33、到py文件保存的目錄,使用命令:python你把程序保存的文件名就可以運(yùn)行你寫的程序了。嗯,這才像個(gè)python程序員的樣!其他常用命令,諸如拷貝文件、刪除文件、新建文件夾之類的,請(qǐng)自行搜索相關(guān)資料。很容易的,比如你搜“mac終端常用命令”,就可以找到很多了。PS:貼吧里轉(zhuǎn)了一篇關(guān)于怎么把py文件轉(zhuǎn)成別人電腦上也可執(zhí)行的exe文件,稍稍有點(diǎn)復(fù)雜,想挑戰(zhàn)的可以去試試?!綪ython第21課】函數(shù)的參數(shù)今天發(fā)現(xiàn)了一個(gè)iPad上的游戲,叫Cargo-Bot。這個(gè)游戲需要你用指令控制一個(gè)機(jī)械臂去搬箱子。游戲里蘊(yùn)含了很多編程的思想,包括循環(huán)、函數(shù)調(diào)用、條件判斷、寄存器、遞歸等等,挺有意思的。更厲害的是,

34、這個(gè)游戲是用一個(gè)叫Codea的app直接在iPad上編寫出來的。有iPad的同學(xué)不妨玩玩看,挑戰(zhàn)一下你的“程商”。言歸正傳,在19課里,我們講了怎樣定義一個(gè)自己的函數(shù),但我們沒有給他提供輸入?yún)?shù)的功能。不能指定參數(shù)的函數(shù)就好比你去餐廳吃飯,服務(wù)員告訴你,不能點(diǎn)菜,有啥吃啥。這顯然不能滿足很多情況。所以,如果我們希望自己定義的函數(shù)里允許調(diào)用者提供一些參數(shù),就把這些參數(shù)寫在括號(hào)里,如果有多個(gè)參數(shù),用逗號(hào)隔開,如:defsayHello(someone):printsomeone+saysHello!或者defplus(numl,num2):printnuml+num2參數(shù)在函數(shù)中相當(dāng)于一個(gè)變量,而

35、這個(gè)變量的值是在調(diào)用函數(shù)的時(shí)候被賦予的。在函數(shù)內(nèi)部,你可以像過去使用變量一樣使用它。調(diào)用帶參數(shù)的函數(shù)時(shí),同樣把需要傳入的參數(shù)值放在括號(hào)中,用逗號(hào)隔開。要注意提供的參數(shù)值的數(shù)量和類型需要跟函數(shù)定義中的一致。如果這個(gè)函數(shù)不是你自己寫的,你需要先了解它的參數(shù)類型,才能順利調(diào)用它。比如上面兩個(gè)函數(shù),我們可以直接傳入值:sayHello(Crossin)還是注意,字符串類型的值不能少了引號(hào)?;蛘咭部梢詡魅胱兞浚簒=3y=4plus(x,y)在這個(gè)函數(shù)被調(diào)用時(shí),相當(dāng)于做了num1=x,num2=y這么一件事。所以結(jié)果是輸出了7?!綪ython第22課】函數(shù)應(yīng)用示例前兩課稍稍介紹了一下函數(shù),但光說概念還是有些抽象了,今天就來把之前那個(gè)小游戲用函數(shù)改寫一下。我希望有這樣一個(gè)函數(shù),它比較兩個(gè)數(shù)的大小。如果第一個(gè)數(shù)小了,就輸出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論