国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

環境字體對python字符串格式化顯示效果的影響

2019-11-08 20:07:53
字體:
來源:轉載
供稿:網友

近來用python自帶shell學習時遇到的一點問題與大家分享,大神和牛人可能對此不屑敬請跳過,但吾等菜鳥水貨初遇此問題還是會糾結好久的,廢話不多,先上執行代碼。 首先是書上的代碼,請看下圖: 書里的原始程序 由于書本的主要對象時Python2.X系列,而我這個水貨安裝的是3.6版本,故此對程序做了一點修改,如下所示:

#字符串格式化實例2width =int (input('請輸入寬度: '))PRice_width = 10item_width = width - price_widthheader_format = '%-*s%*s'#這部分還是照搬2.7版本的,為了做個對比#format = '%-*s%*.2f%%'print('='*width)print(header_format %(item_width,'Item',price_width,'Price'))print('-'*width)print("{:*<{}}{:>{}}".format('Apples',item_width,0.40,price_width))print("{:&<{}}{:>{}}".format('Pears',item_width,0.50,price_width)) print("{:-<{}}{:>{}}".format('Cantaloupes',item_width,1.95,price_width)) print("{:=<{}}{:>{}}".format('Dried Apricots(16 oz.)',item_width,8.00,price_width)) print("{:<{}}{:>{}}".format('Prunes (4 lbs.)',item_width,12.00,price_width))print('=' * width)

書上告訴我們結果是這樣的: 這里寫圖片描述

我運行的結果是這樣地: 這里寫圖片描述

囧感十足!然后我就開始了長時間的糾結,為啥我的代碼打不出人家書本上的的效果?

研究代碼后發現一個問題,理論上’=’與’-‘的打印數量應該是一樣的,但看了運行結果卻發現’-‘生生的比’=’短了好多。此時我開始懷疑是不是各個字符的長度不同,為了確定這個問題,我嘗試修改局部代碼,通過打印不同的可打印符號確定是否各個字符之間大小不同。

print("{:*<{}}{:>{}}".format('Apples',item_width,0.40,price_width))print("{:&<{}}{:>{}}".format('Pears',item_width,0.50,price_width)) print("{:-<{}}{:>{}}".format('Cantaloupes',item_width,1.95,price_width)) print("{:=<{}}{:>{}}".format('Dried Apricots(16 oz.)',item_width,8.00,price_width)) print("{:<{}}{:>{}}".format('Prunes (4 lbs.)',item_width,12.00,price_width))

結果如下: 這里寫圖片描述

到這里大家可以明顯的看出不同的字符在Shell顯示中的大小是不同的。 思索了好一陣子,也百度和CSDN搜索了一些關鍵詞,但沒有解答,突然想到以前改論文的時候字體不同會造成顯示效果的不同。于是決定更改一下。

本人機器上安裝python的時候默認字體為“微軟雅黑”,通過shell界面=>菜單欄Options項=>Configure IDLE選項=>Settings窗口Fonts/Tabs選項卡中修改字體類型,將雅黑改為標準黑體。

更改后結果如下: 這里寫圖片描述

還原占位字符為空格后,效果如下: 這里寫圖片描述

好了,終于得到自己要的結果了!

總結: 作為菜鳥弱雞的我們,在學習過程中難免遇到類似的情況,明明照本宣科的敲代碼,然后結果與劇本完全不同。有不少人會以“不要在意這些細節”來安慰自己,然后輕松的跳過去不再理會。實際上當遇到問題時最好認真思索一下,哪怕暫時跳過,也不要完全丟下,日后遇到的問題會更多,總不能都放下跳過。趁學習時期盡量為以后掃清地雷,積累解決問題經驗,為掃雷填坑做充分準備。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 府谷县| 太白县| 阿克苏市| 潮州市| 庆云县| 衡南县| 岳阳县| 崇左市| 黑龙江省| 马尔康县| 浦东新区| 安化县| 增城市| 泸定县| 旬邑县| 南雄市| 曲周县| 康保县| 遵义市| 南皮县| 定安县| 英超| 金平| 湘潭市| 涞水县| 甘孜县| 阳城县| 利辛县| 澄江县| 屯门区| 高邑县| 全椒县| 孟津县| 什邡市| 简阳市| 光山县| 射阳县| 酒泉市| 金坛市| 许昌市| 南召县|