已采纳回答 / 清波
<...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