讀書筆記-Python科學程式設計入門(A Primer on Scientific Programming with Python)(第五版)-第四章
阿新 • • 發佈:2018-12-19
第四章-使用者輸入與錯誤處理(User Input and Error Handling)
- Python 輸入資料的方法:
- 從終端視窗(Terminal Window)輸入 (4.1 節)
- 從命令列(Command Line)輸入 (4.2 節)
- 從檔案(File)輸入 (4.5 節)
- 從圖形介面(Graphical Interface)輸入 (4.8 節)
- 檢測使用者輸入資料的合法性-4.7 節
- 編寫自己的模組(Module)-4.9 節
4.1-問個問題,讀取答案
問使用者一個問題,將其答案輸入程式中;用到的函式為:raw_input(Python 2)或 input
- 例如:
#Python2 C = raw_input('C=? ') print C #Python3 C = input('C=? ') print(C)
- 執行結果:
4.2-命令列中,讀取資料
通過命令列輸入資料。
4.2.1
- 例如:
#Python3 import sys C = sys.argv[1] print(C)
- 執行結果:
- 說明:
- 需要 import sys
- sys.argv 為引數列表,儲存命令列引數;上述命令中:sys.argv[0] 為 temp.py,sys.argv[1] 為 21
。
4.2.2
命令列中所有引數均為字串,運算時需轉為對應型別。
- 例如:
#Python3 import sys s = 0 for arg in sys.argv[1:]: number = float(arg) s += number print('The sum is: %f' % s)
- 執行結果:
- 更簡潔的表達:
#Python3 import sys s = sum([float(x) for x in sys.argv[1:]]) print('The sum is: %f' % s)
4.2.3
命令列引數以空格隔開;若需輸入空格,應當使用引號。
- 程式:
#Python3 import sys print(sys.argv[1:])
- 執行結果 1(無引號):
- 執行結果 2(有引號):
4.3-將使用者文字,轉換為實時物件(Turning User Text into Live Objects)
將使用者輸入的公式,直接執行。
4.3.1
神奇的 eval 函式,可直接將字串型別的表示式轉為對應的物件。
- 例如:
- 與 4.1 結合:
- 與 4.2 結合:
4.3.2
神奇的 exec 函式,可直接將字串型別的程式碼直接執行。
- 例如:
- 與 4.1 結合:
- 與 4.2 結合:
4.3.3
待續