已采納回答 / 清波
<...code...>正確代碼是這樣的, 如果 函數(shù)中的 if 語句內(nèi)部沒有 return 的話, 遞歸就會(huì)無限的執(zhí)行下去,這時(shí)候就會(huì)報(bào)錯(cuò).return 在函數(shù)中 有返回值 及 中斷函數(shù)執(zhí)行的效果, 在這個(gè)遞歸調(diào)用中, 就是 遞減到 n=1 的時(shí)候 就終止遞歸調(diào)用了。另外 題主的代碼,怎么都沒有冒號(hào)(def 行, 及 if 行?)
2016-04-28
已采納回答 / 清波
在 Python Shell 和 Python IDLE 中, 如果一個(gè)代碼塊(如 if, elif, else, for, while, def, class, try, with 等等)寫完了,如果想跳出代碼塊寫其他的代碼,比如上面的這個(gè) 函數(shù)定義完,想調(diào)用函數(shù)時(shí), 一定要 多敲一個(gè)空行,直到“>>> ”這個(gè)符號(hào)出現(xiàn),再寫。如下:<...code...>
2016-04-26
已采納回答 / 荊無謀
使用chr()轉(zhuǎn)換的時(shí)候,會(huì)根據(jù)數(shù)字的Ascii碼值轉(zhuǎn)換對(duì)應(yīng)的字符,如chr(97),輸出的是Ascii碼為97的字符,就是字符'a';使用str()轉(zhuǎn)換是時(shí)候,直接將對(duì)應(yīng)的數(shù)字轉(zhuǎn)換成字符,如str(97),輸出的就是字符串 '97'
2016-04-26
已采納回答 / SoukNow
最后一行 print 的時(shí)候應(yīng)該是在 if x < y 時(shí)執(zhí)行的,即應(yīng)該和s的賦值屬于同一代碼塊。for x in [1,2,3,4,5,6,7,8,9]:??? for y in [0,1,2,3,4,5,6,7,8,9]:??????? if x < y:??????????? s = 10 * x + y? ? ? ? ? ? print s這樣即可。
2016-04-26
已采納回答 / 清波
<...code...>首先, *args 接受不定數(shù)量的參數(shù), 在函數(shù)中調(diào)用的時(shí)候,不用星號(hào)(*)了, 在函數(shù)中調(diào)用的時(shí)候 args 就是傳入的參數(shù) 組成的 元組(tuple).其次, 有了 len(args) , 就不用另外定義i 并且自加1 了。?最后,為了防止 發(fā)生 除0 的錯(cuò)誤,進(jìn)入函數(shù)后,第一時(shí)間判斷參數(shù)長(zhǎng)度。所以, 根據(jù)上面三條,理解下正確答案。
2016-04-26