입력이 정의되지 않음

| | | |

Python 3은 Python 2의 raw_input() 메소드를 입력() 메소드 로 대체했습니다. Python 3에서 raw_input()을 사용하려고 하면 NameError: name `raw_input` undefined 오류가 발생합니다.

In 이 가이드에서는 이 오류의 의미와 오류가 발생할 수 있는 이유에 대해 설명합니다. 이 오류의 예와 해결 방법을 함께 살펴보겠습니다.

NameError: `raw_input` 이름이 정의되지 않았습니다.

The Python 2 의 raw_input ()은 사용자로부터 입력을 수집합니다. 이 입력은 문자열, 정수 또는 부동 소수점 숫자와 같은 모든 데이터 유형으로 변환될 수 있습니다.

다음 코드를 고려하십시오.

username = raw_input("사용자 이름 입력:")

이 코드를 사용하여 Python 2에서 사용자로부터 사용자 이름을 수집할 수 있습니다.

사용자 데이터를 수집할 수 있다는 것은 프로그램을 대화형으로 만들 수 있다는 것을 의미합니다. 사용할 프로그램의 모든 데이터를 정의할 필요는 없습니다. 사용자에게 데이터 제공을 요청할 수 있습니다.

Python 3에서는 Python 언어가 많이 변경되었습니다. 그 중에는 input()으로 이름이 변경된 raw_input()이 있습니다. 두 함수 모두 sys.stdin("표준 입력"이라고도 함)에서 데이터를 수집하고 이 데이터를 프로그램에 반환합니다.

예시 시나리오

우리는 학생이 자신의 예술적 과제로 얻은 점수를 계산하는 프로그램을 만들 것입니다. 과제는 50개 이상이며 학생들은 A, B, C 또는 Fail 등급을 받을 수 있습니다. 시작하려면 사용자에게 메모를 입력하도록 요청합니다. 이 메모는 단어로 메모를 계산합니다.

digital_grade = int (raw_input ( "메모를 입력하세요:"))

raw_input() 을 사용하여 사용자의 투표를 수집합니다. 사용자는 프로그램의 나머지 부분보다 먼저 우리 프로그램에 메모를 입력해야 합니다. 나중에 코드에서 숫자 비교를 수행할 수 있도록 사용자가 입력한 값을 정수로 변환 합니다. raw_input()이 기본 문자열을 반환하기 때문입니다.

if 문 문자에 해당하는 메모 계산:

이 문은 문자와 숫자 등급을 모두 표시합니다. 학생이 얻었습니다.

달리자 우리의 코드를 보고 무슨 일이 일어나는지 보십시오:

코드가 오류를 반환합니다. .

해결책

오류 메시지는 존재하지 않는 값을 참조하고 있음을 알려줍니다. 우리는 Python 3.x를 사용하여 프로그램을 실행하고 있으므로 raw_input()이(가) 존재하지 않습니다.

코드를 수정하려면 < input() 명령어가 있는 code>raw_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 문서에서 input() raw_input()이라는 이름을 점차적으로 제거했기 때문에 이것은 좋은 솔루션이 아닙니다. >. 코드를 읽는 일부 개발자는 Python 3 코드베이스에서 raw_input()을 보고 혼란스러워 할 수 있으며, 이로 인해 개발 시간이 느려집니다.

결론

NameError: `raw_input`이라는 이름이 정의되지 않았습니다. Python 3에서 raw_input 메서드()를 사용하려고 하면 오류가 생성됩니다. 이 오류를 수정하려면 raw_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