- Python3.5從零開始學
- 劉宇宙
- 507字
- 2020-11-28 16:07:04
4.4 調試
這里通過設置的一些錯誤讓讀者認識在編寫代碼過程中的常見問題,以幫助讀者熟悉和解決實際遇到的問題。
(1)使用格式化整數的占位符格式化字符串,例如:
>>> print ('hello, %d' % 'world') Traceback (most recent call last): File "<pyshell#120>", line 1, in <module> print ('hello, %d' % 'world') TypeError: %d format: a number is required, not str
輸出結果告訴我們需要一個數字,而不是字符串。
(2)在使用%f輸出圓周率的示例中,若更改為使用%d輸出,結果會怎樣?輸入如下:
>>> print (’圓周率PI的值為:%d' % 3.14) 圓周率PI的值為:3
結果把小數點后的數值都拋棄了。
(3)在用0填充的示例中,把010的第一個0更改為其他數字,看看輸出結果。再在精度之前添加一個0或大于0、小于0的數字,看看輸出結果。
>>> print ('圓周率PI的值為:%06.2f' % 3.141593) 圓周率PI的值為:003.14 >>> print ('圓周率PI的值為:%16.2f' % 3.141593) 圓周率PI的值為: 3.14 >>> print ('圓周率PI的值為:%.02f' % 3.141593) 圓周率PI的值為:3.14 >>> print ('圓周率PI的值為:%.12f' % 3.141593) 圓周率PI的值為:3.141593000000 >>> print ('圓周率PI的值為:%.-12f' % 3.141593) Traceback (most recent call last): File "<pyshell#179>",line 1,in <module> print ('圓周率PI的值為:%.-12f' % 3.141593) ValueError: unsupported format character '-' (0x2d) at index 11
由輸出結果看到,將寬度前面的0更改為其他數字會認作寬度值,而不是填充值。在精度前面加0對結果沒有影響;若添加大于0的數字,則作為小數的實際位數輸出,位數不夠后面補0;若添加小于0的數字,則報異常。
推薦閱讀
- Flask Blueprints
- C語言程序設計習題解析與上機指導(第4版)
- Getting started with Google Guava
- JavaScript+jQuery開發實戰
- Visual C++應用開發
- 零基礎學Python網絡爬蟲案例實戰全流程詳解(高級進階篇)
- Spring Boot Cookbook
- Learning Unity 2D Game Development by Example
- Mastering Xamarin.Forms(Second Edition)
- C語言程序設計簡明教程:Qt實戰
- Python商務數據分析(微課版)
- Magento 2 Beginners Guide
- Python物理建模初學者指南(第2版)
- Web前端測試與集成:Jasmine/Selenium/Protractor/Jenkins的最佳實踐
- Mastering Data Analysis with R