第二章代碼 PRint_list(the_list,indent=False,level=0,out_file=sys.stdout) 這是一個遞歸方法,用為輸出the_list 中的數(shù)據(jù)
the_list 輸入要打印的數(shù)據(jù)類型,可以為任意indent=False 是否打印縮進level 打印縮進的級別,如the_list元素的縮進為0,the_list的自己元素中的list的元素縮進就為+1 就為1;如此遞加out_file=sys.stdout默認值為stdout,即輸出在console窗口中。 流程圖如下:
import sysdef print_list(the_list,indent=False,level=0,out_file=sys.stdout): if(isinstance(the_list,list)):#isinstance 運行時識別,判斷變量“the_list”是否為一個list類型。 for each_item in the_list:#this funciton takes one positional argument called "the list",which is any Python list() if(isinstance(each_item,list)): print_list(each_item,indent,level+1,out_file)#判斷each_item是否為list,如果是進行遞歸調(diào)用,并在‘t’后加+1 else: if(indent): for tab_stop in range(level): print("/t",end='',file=out_file) print(each_item,file=out_file) else: if(indent): for tab_stop in range(level): print("/t",end='',file=out_file) print(the_list,file=out_file) - range 是一個類。 range(10)返回的是0..<10的一個range實例,可以用for in遍歷。 range(0,10,2)返回0..10并且以2為增量的一個range實例。 其中有兩個函數(shù)
| count(...) | rangeobject.count(value) -> integer -- return number of occurrences of value | | index(...) | rangeobject.index(value, [start, [stop]]) -> integer -- return index of value. | Raise ValueError if the value is not present.第一個函數(shù)統(tǒng)計某一個值在range中出現(xiàn)的次數(shù),不在時返回0,有是返回數(shù)字。既然是range為什么會出現(xiàn)兩次…有什么意義? 第二個函數(shù)返回value對應(yīng)的索引位值,如果value不在range會拋出 ValueError異常,x is not in range
>>> item = range(2,10,2)>>> index=item.index(9)Traceback (most recent call last): File "<pyshell#25>", line 1, in <module> index=item.index(9)ValueError: 9 is not in range>>> index=item.index(8)>>> >>> print(index)3end=”可以輸出將多個值輸出在一行 sys.stdout默認輸出在console中
新聞熱點
疑難解答