亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么不能引入自帶的sum 函數???

求大神解答

import math

def average(*args):

? ? if len(args) == 0:

? ? ? ? return?

? ? x = math.sum(args)

? ? y = x / len(args)

? ? return y

print average()

print average(1, 2)

print average(1, 2, 2, 3, 4)


正在回答

7 回答

def?average(*args):
????import?math
????if?len(args)?==?0:
????????y?=?0.0
????else:
????????a?=?iter(args)
????????y?=?sum(a)/len(args)
????return?y
print(average())
print(average(1,?2))
print(average(1,?2,?2,?3,?4))

我這樣好像能成功了

1 回復 有任何疑惑可以回復我~

#coding=utf-8

def average(*args):

? ? sum=0.0 #用于條件

? ? if len(args) == 0: #第一個小條件args為空

? ? ? ? return sum

? ? for x in args: #這里指不為空有東西時的運算

? ? ? ? sum=sum+x

? ? return sum/len(args)#由于for是一個有限的計算過程所以需要return強制終結,就是當for已經運算到最后一個元素時就可以用return得出結果



print average()

print average(1, 2)

print average(1, 2, 2, 3, 4)


0 回復 有任何疑惑可以回復我~

把sum(args)變為浮點型就可以了,可以在sum(args)后乘1.0

0 回復 有任何疑惑可以回復我~
#1

LLY123

還有上面的y=0也是,改為y=0.0
2018-07-16 回復 有任何疑惑可以回復我~

def average(*args):

? ? import math

? ? if len(args) == 0:

? ? ? ? y = 0

? ? else:

? ? ? ? y = sum(args)/len(args)

? ? return y

print average()

print average(1, 2)

print average(1, 2, 2, 3, 4)

運行成功了但是好像結果不對,有沒有大佬幫幫我昂0 -0

0 回復 有任何疑惑可以回復我~

還是不對啊 sum有默認參數了啊

def average(*args):

? ? import math

? ? if len(args) == 0:

? ? ? ? y = 0

? ? else:

? ? y = (math.sum(args)) / len(args)

? ? return y

print average()

print average(1, 2)

print average(1, 2, 2, 3, 4)


0 回復 有任何疑惑可以回復我~
#1

慕粉13358287708 提問者

縮進已修改
2018-07-13 回復 有任何疑惑可以回復我~

好像是有sum 但是沒有規定迭代數量


0 回復 有任何疑惑可以回復我~

打擾了 內置沒有sum

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758397    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

為什么不能引入自帶的sum 函數???

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號