運行結果產生NONE
def average(*args): ? ?sum=0.0 ? ?if len(args)==0: ? ? ? ?print 0.0 ? ?else : ? ? ? ?for x in args: ? ? ? ? ? ?sum=sum+x ? ? ? ?return sum/len(args) print average() print average(1, 2) print average(1, 2, 2, 3, 4) 運行結果 0.0 none 1.5 2.4 為什么會產生一個none的結果
2019-03-18
? ? if len(args)==0:
? ? ? ? print 0.0
這里if語句結束后要添加返回語句return sum,表示函數此次運行結束了且返回sum參數,若是不加return或者是未指定的return,結果就是返回return默認的None,然后能進行下一個命令print average(1, 2)?
2019-03-17
這是你的函數:
def average(*args):
? ? sum=0.0
? ? if len(args)==0:
? ? ? ? print 0.0
? ? else :
? ? ? ? for x in args:
? ? ? ? ? ?sum=sum+x
? ? ? ? return sum/len(args)
print average() #0.0 None
print average(1, 2) #1.5
print average(1, 2, 2, 3, 4) #2.4
在你的函數中,在不傳入參數時,先打印0.0,然后沒有執行else,所以沒有return,在沒有返回值的情況下,默認返回None。
2019-03-14
def average(*args):
? ? sum = 0.0
? ? if len(args) == 0:
? ? ? ? return sum
? ? for x in args:
? ? ? ? sum = sum + x
? ? return sum / len(args)
print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)