請問這樣怎么不對?
def average(*args):
? ? x=0.0
? ? n=0
? ? for s in args:
? ? ? ? s=s+x
? ? ? ? n=n+1
? ? if n==0:
? ? ? ? return 0
? ? else:
? ? ? ? return s/n
print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)
def average(*args):
? ? x=0.0
? ? n=0
? ? for s in args:
? ? ? ? s=s+x
? ? ? ? n=n+1
? ? if n==0:
? ? ? ? return 0
? ? else:
? ? ? ? return s/n
print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)
2018-01-13
舉報
2018-01-13
??n沒限定范圍,s按你的意思是元素和,不是元素。?
??? s=0.0
??? n=0
??? while n<len(args):
??????? for x in args:
??????????? s=s+x
??????????? n=n+1
??????? if n==0:
??????????? return 0
??????? else:
??????????? return s/n
2018-01-13
def average(*args):
? ? x=0.0
? ? n=0
? ? for s in args:
? ? ? ? x = x + s
? ? ? ? n=n+1
? ? if n==0:
? ? ? ? return 0.0
? ? else:
? ? ? ? return x/n
print (average())
print (average(1, 2))
print (average(1, 2, 2, 3, 4))
這樣就好了。 ? ?s既然是元素,x就應該是元素和。
2018-01-13
if n==0:
? ? ? ? return 0 改成return 0.0
s=s+x改成x=s+x