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

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

請問這道題像這樣寫為什么不對啊

def average(*args):

? ? sum=0

? ? if len(args)==0:

? ? ? ? return sum

? ? else:

? ? ? ? for i in args:

? ? ? ? ? ? sum+=i

? ? ? ? return sum/len(args)


print average()

print average(1, 2)

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


正在回答

3 回答

sum = 0.0?

要不然都是int啊

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

qq_透明也褪色_0 提問者

非常感謝
2018-01-15 回復 有任何疑惑可以回復我~
#2

Super科技藍 回復 qq_透明也褪色_0 提問者

共同學習
2018-01-15 回復 有任何疑惑可以回復我~

看一下3-8 python中的整數和浮點數


為什么要區分整數運算和浮點數運算呢?這是因為整數運算的結果永遠是精確的,而浮點數運算的結果不一定精確,因為計算機內存再大,也無法精確表示出無限循環小數,比如 0.1 換成二進制表示就是無限循環小數。

那整數的除法運算遇到除不盡的時候,結果難道不是浮點數嗎?我們來試一下:

11 / 4 ? ?# ==> 2

令很多初學者驚訝的是,Python的整數除法,即使除不盡,結果仍然是整數,余數直接被扔掉。不過,Python提供了一個求余的運算 % 可以計算余數:

11 % 4 ? ?# ==> 3

如果我們要計算 11 / 4 的精確結果,按照“整數和浮點數混合運算的結果是浮點數”的法則,把兩個數中的一個變成浮點數再運算就沒問題了:

11.0 / 4 ? ?# ==> 2.75


所以,你的sum不是浮點型的話,平均值如果有小數,也會輸出為整數

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

qq_透明也褪色_0 提問者

明白了,謝謝你
2018-01-15 回復 有任何疑惑可以回復我~

sum * 1.0

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

qq_透明也褪色_0 提問者

非常感謝
2018-01-15 回復 有任何疑惑可以回復我~
#2

Sunflower_0018 回復 qq_透明也褪色_0 提問者

沒事 我也是剛學 有不會的可以互相交流
2018-01-15 回復 有任何疑惑可以回復我~
#3

qq_透明也褪色_0 提問者 回復 Sunflower_0018

嗯嗯 好的
2018-01-15 回復 有任何疑惑可以回復我~
#4

Sunflower_0018 回復 qq_透明也褪色_0 提問者

關注你了
2018-01-15 回復 有任何疑惑可以回復我~
查看1條回復

舉報

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

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

進入課程

請問這道題像這樣寫為什么不對啊

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

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

幫助反饋 APP下載

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

公眾號

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