python浮點數輸出
『壹』 python怎麼輸出浮點數
舉個例子
defa():
return1
#如果我們要把這個1變成浮點,我們可以
b=fload(a())
#或者在return那行就變成float
defa():
returnfloat(a)
『貳』 python語言里float是指浮點數,我輸入e='3',print('e=',e)為什麼輸出3
你輸入e='3'時,e已經是字元串類型了
我在命令行得到的結果如下,返回e的類型是string字元串
>>>
e='3'
>>>
type(e)
<type
'str'>
既然是字元串類型,輸出是自然按原樣輸入,打個比方,不可能輸入Cat輸出Cature的
『叄』 大師,python里,如果我想輸出實數 是用 double() 還是 float()了
python里的float一般就是用C的double實現的,但是float的精度和范圍受你的硬體限制,你可以在sys.float_info里查到這些信息。如果你要求用的精度高過你的硬體,你可以用decimal.Decimal來表示浮點數,Decimal是用軟體模擬精度的,精度不受限制,只是運算會比本來的float慢。
『肆』 python 編程輸入一個浮點數,輸出這個浮點數由多少個不同的數字組成
a = input('請輸入:')
s = set([x for x in str(float(a)) if x!='.'])
print(f'由{len(s)}個數字組成, 分別是{s}')
『伍』 Python中整數運算除法,輸出帶浮點數
如果要執行整數除法用兩個/ ,print(16//2)
如果要當結果是整數時,輸出整數,否則輸出小數,使用格式符g
print("%g"%(16/2))
『陸』 python計算圓的面積,讀程序,要求格式化輸出浮點數s,並保留6位小數,請填寫——缺少的語句
你好,保留6位小數的代碼是s=「%.6f」%s。
第一個空是return s
第二個空是%.6f
『柒』 python浮點數是什麼意思
浮點型(Float)
Python的浮點數就是數學中的小數,類似C語言中的double。
在運算中,整數與浮點數運算的結果是浮點數.
浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的,比如,1.23x109和12.3x108是相等的。浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。但是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。
整數和浮點數在計算機內部存儲的方式是不同的,整數運算永遠是精確的而浮點數運算則可能會有四捨五入的誤差。
『捌』 python 如何控制輸出的小數長度
Python裡面小數點長度精度控制方法:
一、要求較小的精度
將精度高的浮點數轉換成精度低的浮點數。
1.round()內置方法
這個是使用最多的,剛看了round()的使用解釋,也不是很容易懂。round()不是簡單的四捨五入的處理方式。
For the built-in types supporting round(), values are rounded to the
closest multiple of 10 to the power minus ndigits; if two multiples are equally
close, rounding is done toward the even choice (so, for example, both round(0.5)
and round(-0.5) are 0, and round(1.5) is 2).
>>> round(2.5)
2
>>> round(1.5)
2
>>> round(2.675)
3
>>> round(2.675, 2)
2.67
round()如果只有一個數作為參數,不指定位數的時候,返回的是一個整數,而且是最靠近的整數(這點上類似四捨五入)。但是當出現.5的時候,兩邊的距離都一樣,round()取靠近的偶數,這就是為什麼round(2.5)
=
2。當指定取捨的小數點位數的時候,一般情況也是使用四捨五入的規則,但是碰到.5的這樣情況,如果要取捨的位數前的小樹是奇數,則直接舍棄,如果偶數這向上取捨。看下面的示例:
>>> round(2.635, 2)
2.63
>>> round(2.645, 2)
2.65
>>> round(2.655, 2)
2.65
>>> round(2.665, 2)
2.67
>>> round(2.675, 2)
2.67
2. 使用格式化
效果和round()是一樣的。
>>> a = ("%.2f" % 2.635)
>>> a
'2.63'
>>> a = ("%.2f" % 2.645)
>>> a
'2.65'
>>> a = int(2.5)
>>> a
2
二、要求超過17位的精度分析
python默認的是17位小數的精度,但是這里有一個問題,就是當我們的計算需要使用更高的精度(超過17位小數)的時候該怎麼做呢?
1. 使用格式化(不推薦)
>>> a = "%.30f" % (1/3)
>>> a
'0.'
可以顯示,但是不準確,後面的數字往往沒有意義。
2. 高精度使用decimal模塊,配合getcontext
>>> from decimal import *
>>> print(getcontext())
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999,
capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero,
Overflow])
>>> getcontext().prec = 50
>>> b = Decimal(1)/Decimal(3)
>>> b
Decimal('0.')
>>> c = Decimal(1)/Decimal(17)
>>> c
Decimal('0.')
>>> float(c)
0.058823529411764705
默認的context的精度是28位,可以設置為50位甚至更高,都可以。這樣在分析復雜的浮點數的時候,可以有更高的自己可以控制的精度。其實可以留意下context裡面的這rounding=ROUND_HALF_EVEN
參數。ROUND_HALF_EVEN, 當half的時候,靠近even.
三、關於小數和取整
既然說到小數,就必然要說到整數。一般取整會用到這些函數:
1. round()
這個不說了,前面已經講過了。一定要注意它不是簡單的四捨五入,而是ROUND_HALF_EVEN的策略。
2. math模塊的ceil(x)
取大於或者等於x的最小整數。
3. math模塊的floor(x)
去小於或者等於x的最大整數。
>>> from math import ceil, floor
>>> round(2.5)
2
>>> ceil(2.5)
3
>>> floor(2.5)
2
>>> round(2.3)
2
>>> ceil(2.3)
3
>>> floor(2.3)
2
>>>
『玖』 大師python里如果我想輸出實數是用double還是float了
python里的float一般就是用C的double實現的然則float的精度和范圍受你的硬體限制你可以在sys.float_info里查到這些信息。假如你請求用的精度高過你的硬體你可以用decimal.Decimal來表示浮點數Decimal是用軟體模仿精度的精度不受限制只是運算會比本來的float慢。
『拾』 python針對浮點數格式化輸出不是四捨五入嗎
你設置的精度問題
a=0.75
b=0.25
print(type(a))
print(type(b))
print("formatoutputa=%.lfb=%.lf"%(a,b))