婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > python3 實(shí)現(xiàn)除法結(jié)果為整數(shù)

python3 實(shí)現(xiàn)除法結(jié)果為整數(shù)

熱門標(biāo)簽:n400電話申請多少錢 廈門crm外呼系統(tǒng)如何 百應(yīng)ai電銷機(jī)器人鄭州 西藏快速地圖標(biāo)注地點(diǎn) 如何在地圖標(biāo)注文字 ai地圖標(biāo)注 地圖標(biāo)注推廣單頁 長春人工智能電銷機(jī)器人官網(wǎng) 女王谷地圖標(biāo)注

問題描述

101/100,想要的結(jié)果是1,但是算出來的結(jié)果是1.01

解決方案

101 // 100

結(jié)果圖

補(bǔ)充:python2 與 3:一般除法、除法取整、除法取余、精確減法與精確除法

python2

python2除法

python2的除法,與c語言除法類似,兩個(gè)整數(shù)相除結(jié)果一定是整數(shù),除數(shù)與被除數(shù)有一個(gè)是浮點(diǎn)數(shù),結(jié)果就是浮點(diǎn)數(shù)。因此當(dāng)兩個(gè)整數(shù)相除,結(jié)果又有小數(shù)時(shí),由于結(jié)果是整數(shù),所以小數(shù)部分會(huì)被省略,針對(duì)這種情況,要實(shí)現(xiàn)真正的除法,除數(shù)與被除數(shù)至少有一個(gè)應(yīng)改為浮點(diǎn)數(shù)。(貌似python2.7開始,除法和python3除法一樣了,沒有仔細(xì)考究)

a = 3
b = 2
print a/b
print float(a)/b
print a/float(b)
print float(a)/float(b)
# 結(jié)果
1
1.5
1.5
1.5

python2除法取整

加一個(gè)int(),進(jìn)行強(qiáng)制類型轉(zhuǎn)換即可。

a = 4.5
b = 3
print a/b
print int(a/b)
# 結(jié)果
1.5
1

python2除法取余

利用%操作即可。

a = 5.5
b = 3
print a % b
# 結(jié)果
2.5

python3

python3除法

python3的除法就直接使用"/",就可以了,不存在python2的情況

a = 3
b = 2
print(a/b)
# 結(jié)果
1.5

python3除法取整

利用"http://"操作
a = 5.5
b = 2
print(a//b)
# 結(jié)果
2.0

python3除法取余

利用"%"操作

a = 5.5
b = 2
print(a%b)
# 結(jié)果
1.5

python3精確減法與精確除法

我們先看看下面的輸出

a = 0.9
b = 1
print(b-a)
print((b-a)/100)
print((0.1)/100)
# 結(jié)果
0.09999999999999998
0.0009999999999999998
0.001

python計(jì)算要把數(shù)字先轉(zhuǎn)為二進(jìn)制,因?yàn)楦↑c(diǎn)數(shù)以二進(jìn)制形式表示時(shí)的有窮性(利用乘K取余法,0.9的二進(jìn)制無限延展),會(huì)導(dǎo)致計(jì)算誤差。下面摘自python文檔原話。

On most machines today, floats are approximated using a binary fraction with the numerator using the first 53 bits starting with the most significant bit and with the denominator as a power of two.

這不是只有python才有的bug,也不是你代碼的bug,所有的編程語言都會(huì)有這個(gè)問題,當(dāng)然可能很多編程語言會(huì)使用某些機(jī)制來規(guī)避這種顯示。回到該blog的例子,0.9的二進(jìn)制表示如下:

0.1110011001100110011001100110011001100110011001100110011

1-0.9的二進(jìn)制表示為:

0.0001100110011001100110011001100110011001100110011001100

轉(zhuǎn)化過來就是0.09999999999999998

這時(shí)候?yàn)榱藢?shí)現(xiàn)精確運(yùn)算,可以使用類decimal。

import decimal
decimal.getcontext().prec = 10 # 取小數(shù)點(diǎn)后精度到第10位
a = 0.9
b = 1
print(decimal.Decimal(b)-decimal.Decimal(a))
print((decimal.Decimal(b)-decimal.Decimal(a))/100)
print((0.1)/100)
# 結(jié)果
0.1000000000
0.0010000000
0.001

當(dāng)然,直接使用近似函數(shù)round()也是可以的。

a = 0.9
b = 1
print(round(b-a, 10))
print(round((b-a)/100, 10))
print(round((0.1)/100, 10))
# 結(jié)果
0.1
0.001
0.001

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • python3 中的幾種除法介紹,小數(shù)的不同顯示
  • 詳解Python3除法之真除法、截?cái)喑ê拖氯≌麑?duì)比
  • 詳談Python2.6和Python3.0中對(duì)除法操作的異同
  • Python3中的真除和Floor除法用法分析

標(biāo)簽:黔東 興安盟 綿陽 渭南 亳州 拉薩 廊坊 內(nèi)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python3 實(shí)現(xiàn)除法結(jié)果為整數(shù)》,本文關(guān)鍵詞  python3,實(shí)現(xiàn),除法,結(jié),果為,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python3 實(shí)現(xiàn)除法結(jié)果為整數(shù)》相關(guān)的同類信息!
  • 本頁收集關(guān)于python3 實(shí)現(xiàn)除法結(jié)果為整數(shù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 嘉鱼县| 元江| 平江县| 镇雄县| 循化| 海安县| 文成县| 衢州市| 永寿县| 衡东县| 冕宁县| 西峡县| 都江堰市| 诸城市| 临潭县| 景泰县| 交口县| 龙川县| 涿鹿县| 许昌县| 内江市| 灵山县| 铅山县| 通化县| 胶州市| 灌阳县| 汝阳县| 镇平县| 洛隆县| 鹤山市| 宁武县| 宜川县| 固原市| 冀州市| 揭西县| 临海市| 桦南县| 凤城市| 法库县| 西乌| 临猗县|