為什么可以省略if n > 1:
在復習的時候我自己寫了一遍階乘函數的CODE,
def f(n):
??? if n==1:
??????? return 1
??? if n > 1:
??????? return n * f(n - 1)
print f(100)
然后對比了一下教程的,發現教程寫的代碼里面不需要用到if n>1:?? 也可以運行,這個為什么可以省略的?一般在什么情況下可以省略?
乞復求教,萬分感謝。
在復習的時候我自己寫了一遍階乘函數的CODE,
def f(n):
??? if n==1:
??????? return 1
??? if n > 1:
??????? return n * f(n - 1)
print f(100)
然后對比了一下教程的,發現教程寫的代碼里面不需要用到if n>1:?? 也可以運行,這個為什么可以省略的?一般在什么情況下可以省略?
乞復求教,萬分感謝。
2016-10-04
舉報
2016-10-07
沒毛??!對輸入做控制就好,加上
if not isinstance(n,int):
???? ? raise TypeError('Bad........')
if n<=0:
? ? ? raise ValueError('Bad.......')
2016-10-04
你這樣寫是比較嚴謹的,教程里面默認輸入的是正整數,正整數除了1以外,都是大于1的,我也是汗