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

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

Python除法

Python除法

慕尼黑5688855 2019-05-31 17:22:00
Python除法我試圖將一組從-100到0到10-100之間的數字標準化,但問題只是注意到,即使根本沒有變量,這也無法評估我所期望的方式:>>> (20-10) / (100-10)0浮動除法也不起作用:>>> float((20-10) / (100-10))0.0如果分割的任何一方都被拋到一個浮子中,那么它將起作用:>>> (20-10) / float((100-10))0.1111111111111111第一個例子中的每一方都是作為int計算的,這意味著最終的答案將被轉換為int。因為0.111小于5,所以它會變成0。在我看來,這是不透明的,但我想情況就是這樣的。原因是什么?
查看完整描述

4 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

您正在使用Python2.x,其中整數除數將被截斷,而不是變成一個浮點數。

>>> 1 / 20

你應該把其中一個float:

>>> float(10 - 20) / (100 - 10)-0.1111111111111111

from __future__ import division,這些力量/為了采用Python3.x的行為,它總是返回一個浮點。

>>> from __future__ import division>>> (10 - 20) / (100 - 10)-0.1111111111111111


查看完整回答
反對 回復 2019-05-31
?
慕村225694

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

你是在里面放整數,所以Python會給你一個整數。:

>>> 10 / 900

如果之后將其轉換為浮點數,則舍入操作已經完成,換句話說,0整數將始終變為0浮點數。

如果您在除法的兩邊使用Floats,那么Python將給出您所期望的答案。

>>> 10 / 90.00.1111111111111111

所以在你的情況下:

>>> float(20-10) / (100-10)0.1111111111111111>>> (20-10) / float(100-10)0.1111111111111111


查看完整回答
反對 回復 2019-05-31
?
海綿寶寶撒

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

在Python 2.7中,/運算符是整數除法,如果輸入是整數:

>>>20/151>>>20.0/15.01.33333333333>>>20.0/151.33333333333

在Python 3.3中,/運算符是浮點除法,即使輸入是整數。

>>> 20/151.33333333333>>>20.0/151.33333333333

對于Python 3中的整數除法,我們將使用//接線員。

這個//運算符是Python2.7和Python3.3中的整數除法運算符。

在Python2.7和Python3.3中:

>>>20//151

現在,看看比較

>>>a = 7.0/4.0>>>b = 7/4>>>print a == b

對于上述程序,Python2.7中的輸出為false,Python3.3中為True。

在Python2.7 a=1.75和b=1中。

在Python3.3a=1.75和b=1.75中,僅僅是因為/是一個浮子部門。


查看完整回答
反對 回復 2019-05-31
  • 4 回答
  • 0 關注
  • 819 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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