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

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

關于變量的數據類型的問題

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就錯誤

正在回答

3 回答

在python等多種語言中,sum=0,默認sum是整型,sum=0.0,默認sum為浮點型

整型與整型相除 得到的是 去除小數部分的整數,所以為了得到正確答案,應該將sum定義為0.0

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

因為0是整數型, 0.0是浮點型。 ?例如:sum = 0 ? 因為sum是整數型,當你把數值賦值給sum的時候,系統會自動將浮點數轉換成整數。

0 回復 有任何疑惑可以回復我~
#!/usr/bin/python
#?-*-?coding:?utf-8?-*-
import?sys

def?average(*args):
????if?len(args)==0:
????????return?0
????else:?
????????sum?=?0
????????for?a?in?args:??
????????????sum?+=?a
????????return?sum/len(args)?

a?=?average()
b?=?average(1,?2)?
c?=?average(1,?2,?2,?3,?4)

print?(a)
print?(b)
print?(c)

結果如下

0

1.5

2.4

我在?http://www.mcqyy.com/RunCode/python3/?這上面運行的,并沒有出現你說的問題(兩個0 兩個0.0 或者一個0一個0.0我都試過 沒問題)

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

舉報

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

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

進入課程

關于變量的數據類型的問題

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

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

幫助反饋 APP下載

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

公眾號

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