輸入未定義 Javascript

| | | |

Python 3 已將 Python 2 的 raw_input () 方法替換為 input () 方法。如果你嘗試在 Python 3 中使用 raw_input(),你會遇到錯誤 NameError: name `raw_input` undefined

在在本指南中,我們將討論此錯誤的含義以及您可能會遇到它的原因。我們將查看此錯誤的示例以及解決方案,以便您了解如何修復它。

NameError: the name `raw_input` is not defined

Python 2 中的 raw_input () 收集來自用戶的輸入。此輸入可以轉換為任何數據類型,例如字符串、整數或浮點數。

考慮以下代碼:

username = raw_input("Enter a username:")

我們可以在 Python 2 中使用此代碼從用戶那裡收集用戶名。

能夠收集用戶數據意味著您可以使您的程序具有交互性。您不必只定義將要使用的程序中的所有數據。您可以要求用戶提供數據。

在 Python 3 中,對 Python 語言進行了許多更改。其中raw_input()已重命名為input()。這兩個函數都從 sys.stdin(也稱為“標準輸入”)收集數據並將這些數據返回給程序。

示例場景

我們將建立一個程序來計算學生通過藝術作業獲得的成績。作業大於 50,學生可能會獲得 A、B、C 或不及格的成績。首先,我們要求用戶輸入一個便箋,我們將用文字計算出該便箋:

digital_grade = int (raw_input("Enter a note:"))

我們使用raw_input()來收集用戶的一票。用戶必須在程序的其餘部分之前在我們的程序中輸入一個註釋。我們 將用戶輸入的值轉換為整數,以便我們稍後可以在代碼中進行數字比較。因為 raw_input() 返回一個默認字符串。

我們將使用 if 語句 計算字母對應的note:

我們使用一個if,兩個elif,和另一個語句來計算根據用戶在程序中輸入的數字成績,學生獲得的字母成績。

我們的最後一步是 向控制台打印一條消息 通知用戶我們的計算結果:

此語句將同時顯示字母和數字等級 a學生拿到了。

我們跑吧我們的代碼,看看會發生什麼:

我們的代碼返回錯誤.

解決方案

錯誤信息告訴我們,我們指的是一個不存在的值。由於我們 u 我們使用 Python 3.x 運行我們的程序,所以 raw_input() 不存在。

為了更正我們的代碼,我們需要替換我們的 raw_input () 指令與 input () 指令:

raw_input()和input()指令在功能上是相同的。這意味著我們不需要對代碼進行任何其他更改以使我們的代碼庫與 Python 3.x 兼容。

讓我們運行我們的完成此更改的程序:

我們的代碼成功計算了學生的成績。

關於重新分配 raw_input 的說明

技術上可行的解決方案是將 raw_input () 的值賦給 input() 函數。我們可以使用變量賦值來做到這一點。這將允許您在 Python 3 代碼中使用名為 raw_input () 的函數。

考慮這個示例:

raw_input = input

這條語句告訴 Python raw_input () 的值必須等於 input ()

這不是一個好的解決方案,因為官方 Python 3 文檔已經逐漸移除了名稱 raw_input() 以支持 input() 。一些閱讀您的代碼的開發人員如果在 Python 3 代碼庫中看到 raw_input () 可能會感到困惑,從而減慢了開發時間。

結論

NameError: the name `raw_input` is not defined 在 Python 3 中嘗試使用 raw_input 方法 () 時會產生錯誤。要更正此錯誤,請將 raw_input () 的所有實例替換為中的 input () 函數程序。

您現在擁有像專業 Python 程序員一樣修復此錯誤的知識!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method