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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

2.7.4上的Python的/和//運算符

2.7.4上的Python的/和//運算符

慕婉清6462132 2021-03-31 01:10:47
我是Python的新手,我開始學習基礎知識。我是C ++人,所以//運算符是新的東西。根據我正在閱讀的書:>> 4/22.0>> 2/40.5>> 5//42>> 2//40問題是當我寫入5//4結果為1時,當我寫入4/2結果為2而不是2.0時,當我寫入2/4結果為0時。我必須寫“ 2.0 / 4.0”,結果為0.5。這些作者的錯誤還是我做錯了事?我在linux2上使用Python 2.7.4,[GCC 4.7.3]
查看完整描述

4 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

在Python 2.x中,默認除法運算符為“經典除法”。這意味著/,當與整數運算符一起使用時,將導致類似于C ++或java [ie 4/3 = 1]的整數除法。


在Python 3.x中,這已更改。在那里,/指的是“真實劃分” [ 4/3 = 1.3333..],而//用于請求“經典/地板劃分”。


如果要在Python 2.7中啟用“真除法”,則可以from __future__ import division在代碼中使用。


資料來源:PEP 238


例如:


>>> 4/3

1

>>> 4//3

1

>>> from __future__ import division

>>> 4/3

1.3333333333333333

>>> 4//3

1


查看完整回答
反對 回復 2021-04-01
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

發生差異的情況是Python 3.x。在Python 3.0中,7 / 2將返回3.5,并且7 // 2將返回3。運算符/為floating point division,運算符//為floor division或integer division。


但是,如果Python 2.x沒有任何區別,并且我相信文本是錯誤的,那么這里就是我得到的輸出。


Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on 

win32 

Type "copyright", "credits" or "license()" for more information.

>>> 4/2

2

>>> 2/4

0

>>> 5//4

1

>>> 2//4

0

>>> 


查看完整回答
反對 回復 2021-04-01
  • 4 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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