關于變量的數據類型的問題
def average(*args): ? ?if len(args)==0: ? ? ? ?return 0.0 ? ?else: ? ? ? ?sum = 0.0 ? ? ? ?for a in args: ? ? ? ? ? ?sum += a ? ? ? ?return sum/len(args) print average() print average(1, 2) print average(1, 2, 2, 3, 4) 為什么sum要定義成0.0,定義為0就錯誤
2016-04-17
在python等多種語言中,sum=0,默認sum是整型,sum=0.0,默認sum為浮點型
整型與整型相除 得到的是 去除小數部分的整數,所以為了得到正確答案,應該將sum定義為0.0
2016-04-07
因為0是整數型, 0.0是浮點型。 ?例如:sum = 0 ? 因為sum是整數型,當你把數值賦值給sum的時候,系統會自動將浮點數轉換成整數。
2016-04-07
結果如下
0
1.5
2.4
我在?http://www.mcqyy.com/RunCode/python3/?這上面運行的,并沒有出現你說的問題(兩個0 兩個0.0 或者一個0一個0.0我都試過 沒問題)