python向上取整
創(chuàng)新互聯(lián)建站專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站建設(shè)、綿竹網(wǎng)絡(luò)推廣、微信小程序開(kāi)發(fā)、綿竹網(wǎng)絡(luò)營(yíng)銷(xiāo)、綿竹企業(yè)策劃、綿竹品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供綿竹建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:muchs.cn
相關(guān)推薦:《Python教程》
方法:
Python?match.ceil函數(shù)
ceil(x)函數(shù)是向上取整,即取大于等于x的最接近整數(shù)。
import math
math.ceil(float(1)/2)
結(jié)果是?-4
對(duì)正數(shù)是向下取整,對(duì)負(fù)數(shù)是向上取整。
學(xué)python的一個(gè)缺點(diǎn)就是對(duì)數(shù)據(jù)類(lèi)型的基礎(chǔ)理解比較少,
你可以用二進(jìn)制來(lái)理解下,舉一個(gè)有符號(hào)的二進(jìn)制為例子:
對(duì)于無(wú)符號(hào)的?0b000~0b111?來(lái)說(shuō)分別有
0b000?=?0;
0b001?=?1;
0b010?=?2;
0b011?=?3;
0b100?=?4;
0b101?=?5;
0b110?=?6;
0b111?=?7;
比如?uint?就是?int?的無(wú)符號(hào)形式。
當(dāng)相同數(shù)據(jù)為有符號(hào)形式時(shí)變?yōu)椋?/p>
0b000?=?0;
0b001?=?1;
0b010?=?2;
0b011?=?3;
0b100?=?-4;
0b101?=?-3;
0b110?=?-2;
0b111?=?-1;
(參考原碼、反碼、補(bǔ)碼)
所以根據(jù)這個(gè)規(guī)則,對(duì)float,double等數(shù)字是同理,在floor時(shí)將有符號(hào)位進(jìn)行省略,如以下位運(yùn)算():
0b000??1?=?0b000
0b001??1?=?0b000
有?0-0?和?1?-?0
0b010??1?=?0b001
0b011??1?=?0b001
有?2-?1?和?3?-?1
按照這個(gè)丟失精度的方法計(jì)算負(fù)數(shù)呢?
0b111??1?=?0b111
0b110??1?=?0b111
0b101??1?=?0b110
0b100??1?=?0b110
可知:
-1?-?-1?與?-2?-?-1
-3?-?-2?與?-4?-?-2
所以對(duì)負(fù)數(shù)的?floor?會(huì)向上取整,因?yàn)閬G失精度的方法是直接根據(jù)小數(shù)點(diǎn)截?cái)嗟摹?/p>
內(nèi)置函數(shù),在python幫助文檔中:Build-in Functions
在Python提示符下,輸入下面語(yǔ)句,就會(huì)顯示Python提供的內(nèi)置函數(shù)列表
dir('__builtins__')
abs(_) 內(nèi)置函數(shù),絕對(duì)值或復(fù)數(shù)的模。
chr() 以單字節(jié)整數(shù)為參數(shù),返回一個(gè)單字符的字符串,其內(nèi)容是與之對(duì)于的ASCII字符。如chr(69)返回'E'。
cmp() 比較字符串,cmp('Xiao','Jian')返回1
coerce() (可以看成一個(gè)數(shù)值類(lèi)型轉(zhuǎn)換函數(shù))有兩個(gè)參數(shù),都是數(shù)字,返回這兩個(gè)數(shù)字的一個(gè)列表,將這兩個(gè)數(shù)字的數(shù)據(jù)類(lèi)型統(tǒng)一。如coerce(1,2j),返回(1+0j,2j)
complex() 內(nèi)置函數(shù),把……轉(zhuǎn)換成復(fù)數(shù),如complex('2')返回(2+0j),complex('2+3j')返回(2+3j)。
divmod() 內(nèi)置函數(shù),有兩個(gè)參數(shù),返回(商,余數(shù))。如divmod(10,2.5),返回(4.0,0.0)。
filter(function,list) 把函數(shù)應(yīng)用于list中的每一項(xiàng),并返回 從函數(shù)中返回真值的項(xiàng)。注:function可以為None,此時(shí)刪除list中的0或空項(xiàng)。
float() 內(nèi)置函數(shù),把……轉(zhuǎn)換成浮點(diǎn)數(shù)。
floor() 在math模塊內(nèi),需要import math。向下取整,即向x軸負(fù)方向取整。如math.floor(1.9)返回1,math.floor(-2.5)返回-3。
hash() 散列功能,詞典鍵的最精確功能需求是它一定是可散列的。對(duì)象的散列值是半唯一的、內(nèi)部生成的數(shù)字,它可用于快速比較。
int() 內(nèi)置函數(shù),把字符串或者小數(shù)轉(zhuǎn)換為一個(gè)整數(shù)。直接去掉小數(shù)部分。如int(5.3)返回5,int('5')返回5。
len(x) 序列x的長(zhǎng)度
long() 內(nèi)置函數(shù),把數(shù)字 或 代表整數(shù)的字符串 轉(zhuǎn)換成長(zhǎng)整型
map(function,list[,list,...])
max() 找出字符串中最大的字符。如:min('find the minimum character'),返回' ',即空格。
min() 找出字符串中最小的字符。如:max('find the maximum character'),返回'x'。
oct() 將十進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制,再變成字符。
ord() 參數(shù)是單個(gè)的ASCII字符,返回該ASCII字符對(duì)應(yīng)的整數(shù)值,如ord('a')返回97。
pow() 內(nèi)置函數(shù),乘方。如果有第三個(gè)參數(shù),則表示乘方的結(jié)果對(duì)第三參數(shù)取余,如pow(2,3)返回8,pow(2,3,4)返回0。
print 輸出到窗口
range() 生成一個(gè)向量,例如range(m,n,d),從m到n,步長(zhǎng)為d;range(m)則生成0:m-1,步長(zhǎng)為1的向量。
raw_input() 輸入函數(shù),參數(shù)為字符串,作為輸入時(shí)的提示語(yǔ)句。返回值為字符串。
reduce(func)
round() 內(nèi)置函數(shù),對(duì)數(shù)字進(jìn)行四舍五入,第二個(gè)參數(shù)表示精確到小數(shù)點(diǎn)后指定的位數(shù),默認(rèn)值為0。如round(2.4)返回2,round(1.398,2)返回1.40。
type() 返回某數(shù)據(jù)的類(lèi)型
import math
r=math.floor(3.2) #向下取整
print(r)
r=math.ceil(4.5) #向上取整
print(r)
r=abs(-2)
r=round(4.5) #四舍五入
r=math.pow(3,2) #冪運(yùn)算
r=math.sqrt(25) #開(kāi)平方
其中 函數(shù)fabs和abs的區(qū)別:函數(shù)fabs的作用是求浮點(diǎn)數(shù)x的絕對(duì)值;函數(shù)abs的作用是求x的絕對(duì)值。fabs函數(shù)原型:double fabs(double x);abs函數(shù)原型:int fabs(int x)。fabs函數(shù)參數(shù):參數(shù)x是一個(gè)浮點(diǎn)數(shù);abs函數(shù)參數(shù):參數(shù)x是一個(gè)整數(shù)
1、通常,python四舍五入使用內(nèi)置的round函數(shù)就可以了。
2、然而,對(duì)于需要精確的四舍五入,就有問(wèn)題。
3、原因是,部分小數(shù)無(wú)法完全用二進(jìn)制表示。
3、于是,作為一個(gè)較方便的做法,我們可以使用下面方式實(shí)現(xiàn)精確的四舍五入:def round_up(value):? ? ?"""四舍五入保留2位小數(shù) :param value:數(shù)值。
4、原理就是將數(shù)字放大100倍,以利用下面的精確的四舍五入的結(jié)果 。
是利用原來(lái)的向下取整的機(jī)制如果原來(lái)是
實(shí)際上Python的round()函數(shù)可以接受兩個(gè)參數(shù)round(value,ndigits),第一個(gè)參數(shù)為實(shí)際操作數(shù),第二個(gè)參數(shù)為實(shí)際保留幾位,如果第二個(gè)參數(shù)不填,則默認(rèn)保留到整數(shù)位。
Python3.X對(duì)于浮點(diǎn)數(shù)默認(rèn)的是提供17位數(shù)字的精度。
當(dāng)前題目:取整函數(shù)python 取整函數(shù)round
網(wǎng)頁(yè)URL:http://muchs.cn/article14/hgcpde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、響應(yīng)式網(wǎng)站、、Google、外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)