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

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

for循環格式

def average(*args): ? ?sum = 0.0 ? ?if len (args) == 0: ? ? ? ?return sum ? ? ? ?for x in args: ? ? ? ?sum = sum + x ? ? ? ?average = sum *1.0 /len (args) ? ? ? ?return average ? ? ? ? print average() print average(1, 2) print average(1, 2, 2, 3, 4) 這樣寫為什么不會輸出正確答案啊

正在回答

2 回答

你的格式是不是這樣呀
?for?x?in?args:????????
?????sum?=?sum?+?x????????
?????average?=?sum?*1.0?/len?(args)????????
?????return?average
如果是的話,sum值只加了第一個元素,average又除以了總的參數個數,所以輸出的答案就是錯誤的
只要把sum和average放在for循環外面就可以了,具體可以見下面的代碼

def?average(*args):
????sum?=?0.0
????if?len?(args)?==?0:
????????return?sum
????else:
????????for?x?in?args:
????????????sum?=?sum?+?x
????????average?=?sum?*1.0?/len?(args)
????????return?average
print?average()
print?average(1,?2)
print?average(1,?2,?2,?3,?4)


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

def average(*args):

? ? sum = 0.0

? ? if len (args) == 0:

? ? ? ? return sum

? ??

? ? for x in args:

? ? ? ? sum = sum + x

? ? ? ? average = sum *1.0 /len (args)

? ? ? ? return average

print average()

print average(1, 2)

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


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

要努力的L

def average(*args): sum = 0.0 if len (args) == 0: return sum for x in args: sum = sum + x average = sum *1.0 /len (args) return average print average() print average(1, 2) print average(1, 2, 2, 3, 4) average要等到循環結束,不在循環體內
2019-07-01 回復 有任何疑惑可以回復我~
#2

要努力的L 回復 要努力的L

????格式錯了,意思就是average不在循環體內,不然每循環一次相除一次。
2019-07-01 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

for循環格式

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

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

幫助反饋 APP下載

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

公眾號

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