今天繼續(xù)學(xué)習(xí)函數(shù),對(duì)應(yīng)書的第8章節(jié)。
第一章是大大的圖,今日的任務(wù)是建立一個(gè)列表,熟悉len和range函數(shù)的用法,然后構(gòu)建一個(gè)output函數(shù),并成功運(yùn)行。
具體來(lái)說(shuō)
第5-8行:建立列表
第9行,len函數(shù):測(cè)算list列表包含的參數(shù)個(gè)數(shù)
第10行,range函數(shù):列出從0到參數(shù)。貼一段網(wǎng)上的range函數(shù)的描述,就秒懂了:
>>>range(1,5)#代表從1到5(不包含5)
[1,2,3,4]
>>>range(1,5,2)#代表從1到5,間隔2(不包含5)
[1,3]
>>>range(5)#代表從0到5(不包含5)
[0,1,2,3,4]
(來(lái)源:http://www.cnblogs.com/buro79xxd/archive/2011/05/23/2054493.html)
第12-13行,定義output函數(shù)
第15-16行,遍歷range函數(shù)形成的列表,調(diào)用list列表中對(duì)應(yīng)的值,通過(guò)output函數(shù)打印

以下是我的嘗試,問(wèn)題主要出在,當(dāng)我敲完所有代碼后,運(yùn)行發(fā)現(xiàn)不能正確顯示,就像下圖顯示區(qū)前3行顯示的一樣,因此我采用了排除法來(lái)解決問(wèn)題:
(1)檢查16-17行的循環(huán),方法是不用output函數(shù),通過(guò)遍歷直接print,結(jié)果發(fā)現(xiàn)可以輸出。說(shuō)明循環(huán)沒(méi)有問(wèn)題

(2)檢查output函數(shù),方法是不調(diào)用list函數(shù),直接用output(i),結(jié)果顯示也沒(méi)有問(wèn)題,說(shuō)明output函數(shù)也沒(méi)有問(wèn)題

(3)那么就困惑了,為何組合會(huì)有問(wèn)題,然后發(fā)現(xiàn)仔細(xì)核對(duì)了原圖,發(fā)現(xiàn)第13行,print 后面不能加(),去掉()之后就可以成功運(yùn)行了。那么問(wèn)題在于,print后面什么時(shí)候該加括號(hào),什么時(shí)候不該加呢?我在網(wǎng)上沒(méi)有找到相應(yīng)的答案,只說(shuō)是因?yàn)榘姹旧?jí),現(xiàn)在print函數(shù)化了,那按理說(shuō),都應(yīng)該加上()。為什么我加了反而報(bào)錯(cuò)了呢?等待解答。
