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