近來用python自帶shell學習時遇到的一點問題與大家分享,大神和牛人可能對此不屑敬請跳過,但吾等菜鳥水貨初遇此問題還是會糾結好久的,廢話不多,先上執行代碼。 首先是書上的代碼,請看下圖:  由于書本的主要對象時Python2.X系列,而我這個水貨安裝的是3.6版本,故此對程序做了一點修改,如下所示:
 由于書本的主要對象時Python2.X系列,而我這個水貨安裝的是3.6版本,故此對程序做了一點修改,如下所示:
書上告訴我們結果是這樣的: 
我運行的結果是這樣地: 
囧感十足!然后我就開始了長時間的糾結,為啥我的代碼打不出人家書本上的的效果?
研究代碼后發現一個問題,理論上’=’與’-‘的打印數量應該是一樣的,但看了運行結果卻發現’-‘生生的比’=’短了好多。此時我開始懷疑是不是各個字符的長度不同,為了確定這個問題,我嘗試修改局部代碼,通過打印不同的可打印符號確定是否各個字符之間大小不同。
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選項卡中修改字體類型,將雅黑改為標準黑體。
更改后結果如下: 
還原占位字符為空格后,效果如下: 
好了,終于得到自己要的結果了!
總結: 作為菜鳥弱雞的我們,在學習過程中難免遇到類似的情況,明明照本宣科的敲代碼,然后結果與劇本完全不同。有不少人會以“不要在意這些細節”來安慰自己,然后輕松的跳過去不再理會。實際上當遇到問題時最好認真思索一下,哪怕暫時跳過,也不要完全丟下,日后遇到的問題會更多,總不能都放下跳過。趁學習時期盡量為以后掃清地雷,積累解決問題經驗,為掃雷填坑做充分準備。
新聞熱點
疑難解答