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

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

為什么line7 報錯 float division by zero?

def average(*args):
??? sum = 0.
??? n = 0
??? if args == 0:
??????? return sum
??? for num in args:
??????? sum += num
??????? n += 1
??? return sum/n

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


正在回答

3 回答

args是個tuple,應該判斷len(args)==0,args==0是個啥

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

def average(*args):

? ? if len(args) > 0:

? ? ? ? return sum(args) * 1.0 / len(args)

? ? else:

? ? ? ? return 0.0

除數不能為0, 參數為空的情況 除數 n 為 0

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

def average(*args):
??? sum = 0.
??? n = 0
??? if len(args) == 0:
??????? return sum
??? for num in args:
??????? sum += num
??????? n += 1
??? return sum/n
print average() ?
print average(1, 2)
print average(1, 2, 2, 3, 4)

可變參數 args 是一個tuple,當0個參數傳入時,args是一個空tuple。

所以print average()? 時會報錯

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

舉報

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

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

進入課程

為什么line7 報錯 float division by zero?

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

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

幫助反饋 APP下載

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

公眾號

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