05 python基礎--格式化輸出
阿新 • • 發佈:2018-12-18
5.1 整數的進位制輸出
print('%s'%'hello world')
>hello world
print('%o'%20) # 八進位制輸出
>24
print('%d'%20) # 十進位制輸出
>20
print('%x'%20) # 十六進位制輸出
>14
5.2 浮點數輸出
print('%.3f' % 3.1415926) # 保留3位小數位 >3.142 print('%.3e' % 3.1415926) # 保留3位小數位,使用科學計數法,且指數輸出 >3.142e+00 print('%.3g' % 3.1415926) # 保留3位有效數字 >3.14 ## round(x,n)函式四捨五入 print(round(1.1135,3)) # 取3位小數,由於3為奇數,則向下“舍” >1.13 print(round(1.1145,3)) # 取3位小數,由於4為偶數,則向上“入” >1.15
5.3 字串輸出
print('%20s' % 'hello world') #右對齊,取20位,不夠則補位 > hello world print('%20s' % 'hello world') #左對齊,取20位,不夠則補位 >hello world print('%-10.2s' % 'hello world') # 左對齊,10位佔位符,取2位 >he print('%10.2s' % 'hello world') # 右對齊,10位佔位符,取2位 > he print('%.2s' % 'hello world') # 左對齊,10位佔位符,取2位 >he
5.4 format
## 基本用法:使用大括號‘{}’作為特殊字元代替‘%’,使用方法由兩種:b.format(a)和format(a,b) print('{} {}'.format('hello','world')) # 不帶欄位 >hello world print('{1} {0}'.format('hello','world')) # 帶數字編號,可調換順序 >world hello print('{a} {b} {a}'.format(a='hello',b='world')) # 帶數字編號,可調換順序 >hello world hello ## 進階用法:(1)< (預設)左對齊、> 右對齊、^ 中間對齊、= (只用於數字)在小數點後進行補齊;(2)取位數“{:4s}”、"{:.2f}"等 print("{:=>30,.2f}".format(12345.6789)) >>=====================12,345.68
: | <填充> | <對齊> | <寬度> | <,> | < . 精度> | <型別> |
---|---|---|---|---|---|---|
引導符號 | 用於填充的單個字元 | < 左對齊 | 寬度 | 千位分隔符 | 浮點數小數精度或字串最大輸出長度 | 整數型別(b, c, d, o, x, X)浮點數型別(e, E, f, %) |
print('{0:b}'.format(3)) ##二進位制輸出
print('{:c}'.format(80)) ##轉化為unicode字串
print('{:d}'.format(20)) ##十進位制輸出
print('{:o}'.format(20)) ##八進位制輸出
print('{:x}'.format(20)) ##十六進位制輸出
print('{:e}'.format(20)) ##冪符號輸出
print('{:%}'.format(20)) ##%輸出
print('轉化為華氏溫度為{:.2f}F'.format(54)) ##帶固定內容(F)的輸出格式
>11
>P
>20
>24
>14
>2.000000e+01
>2000.000000%
>轉化為華氏溫度為54.00F
5.5 溫度轉換程式碼
T = input('請輸入帶單位的溫度(t/f):')
if T[-1] in ['f','F']:
C = (eval(T[0:-1])-32)/1.8 ## eval() 函式轉化字串為其他格式,即去掉引號
print("轉化為攝氏溫度為{:.2f}C".format(C)) ## 格式化輸出
elif T[-1] in ['c','C']:
F =1.8*eval(T[0:-1]) +32
print("轉化為華氏溫度為ty{:.2f}F".format(F))
else:
print('您的輸入有誤')