今天繼續(xù)學(xué)習(xí)函數(shù)萨蚕,對應(yīng)書的第8章節(jié)。
第一章是大大的圖蹄胰,今日的任務(wù)是建立一個列表岳遥,熟悉len和range函數(shù)的用法,然后構(gòu)建一個output函數(shù)裕寨,并成功運行浩蓉。
具體來說
第5-8行:建立列表
第9行,len函數(shù):測算list列表包含的參數(shù)個數(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]
(來源:http://www.cnblogs.com/buro79xxd/archive/2011/05/23/2054493.html)
第12-13行认轨,定義output函數(shù)
第15-16行,遍歷range函數(shù)形成的列表月培,調(diào)用list列表中對應(yīng)的值嘁字,通過output函數(shù)打印
以下是我的嘗試,問題主要出在杉畜,當(dāng)我敲完所有代碼后纪蜒,運行發(fā)現(xiàn)不能正確顯示,就像下圖顯示區(qū)前3行顯示的一樣此叠,因此我采用了排除法來解決問題:
(1)檢查16-17行的循環(huán)纯续,方法是不用output函數(shù),通過遍歷直接print灭袁,結(jié)果發(fā)現(xiàn)可以輸出猬错。說明循環(huán)沒有問題
(2)檢查output函數(shù),方法是不調(diào)用list函數(shù)茸歧,直接用output(i),結(jié)果顯示也沒有問題兔魂,說明output函數(shù)也沒有問題
(3)那么就困惑了,為何組合會有問題举娩,然后發(fā)現(xiàn)仔細核對了原圖,發(fā)現(xiàn)第13行,print 后面不能加()铜涉,去掉()之后就可以成功運行了智玻。那么問題在于,print后面什么時候該加括號芙代,什么時候不該加呢吊奢?我在網(wǎng)上沒有找到相應(yīng)的答案,只說是因為版本升級纹烹,現(xiàn)在print函數(shù)化了页滚,那按理說,都應(yīng)該加上()铺呵。為什么我加了反而報錯了呢裹驰?等待解答。