Python 中如何將使用者輸入讀取為整數

Jinku Hu 2023年1月30日 2018年3月4日
  1. Python 2.x 將使用者輸入讀取為整數
  2. Python 3.x 中將使用者輸入讀取為整數
Python 中如何將使用者輸入讀取為整數

Python 2.x 將使用者輸入讀取為整數

Python 2.7 有兩個函式來讀取使用者輸入,即 raw_inputinput

raw_input 將使用者輸入作為原始字串讀取,其返回值型別很簡單,是字串型別 stringinput 獲取使用者輸入,然後評估字串的內容,並返回評估結果。

例如,

>>> number = raw_input("Enter a number: ")
Enter a number: 1 + 1
>>> number, type(number)
('1 + 1', <type 'str'>)

>>> number = input("Enter a number: ")
Enter a number: 1 + 1
>>> number, type(number)
(2, <type 'int'>)
友情提示

Python 2.x 中使用 input 時請三思,它有可能產生安全問題,因為它會評估編譯使用者輸入的任意內容。舉個例子,假設你已經調入了 os,然後你要求使用者輸入,

>>> number = input("Enter a number: ")
Enter a number: os.remove(*.*)

你輸入的 os.remove(*.*) 會被執行,它會刪除工作目錄中的所有檔案,而沒有任何提示!

Python 3.x 中將使用者輸入讀取為整數

raw_input 在 Python 3.x 中已經被棄用,它在 Python 3.x 中被替換為 input。它只獲取使用者輸入字串,但由於上述安全風險,因此不評估和執行字串的內容。因此,你必須將使用者輸入從字串顯性轉換為整數。

>>> number = int(input("Enter a number: "))
Enter a number: 123
>>> number
123
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn

相關文章 - Python Input