Eingabe Ist Nicht Definiert Javascript

| | | |

Python 3 hat die Methode raw_input () von Python 2 durch die Methode input () ersetzt. Wenn Sie versuchen, raw_input () in Python 3 zu verwenden, erhalten Sie den Fehler NameError: name `raw_input` undefined.

In In diesem Handbuch werden wir besprechen, was dieser Fehler bedeutet und warum er auftreten kann. Wir sehen uns ein Beispiel für diesen Fehler zusammen mit einer Lösung an, damit Sie erfahren, wie Sie ihn beheben können.

NameError: the name `raw_input` is not defined

The raw_input () in Python 2 sammelt Eingaben von einem Benutzer. Diese Eingabe kann in einen beliebigen Datentyp konvertiert werden, z. B. eine Zeichenfolge, eine Ganzzahl oder eine Gleitkommazahl.

Betrachten Sie diesen Code:

username = raw_input ("Geben Sie einen Benutzernamen ein:")

Wir können diesen Code verwenden, um einen Benutzernamen von einem Benutzer in Python 2 zu erfassen.

In der Lage zu sein, die Daten eines Benutzers zu sammeln, bedeutet, dass Sie Ihre Programme interaktiv gestalten können. Sie müssen nicht nur alle Daten in dem Programm definieren, das Sie verwenden werden. Sie können einen Benutzer bitten, Daten bereitzustellen.

In Python 3 wurden viele Änderungen an der Python-Sprache vorgenommen. Darunter ist raw_input (), das in input () umbenannt wurde. Beide Funktionen sammeln Daten aus sys.stdin (auch "Standardeingabe" genannt) und geben diese Daten an ein Programm zurück.

Ein Beispielszenario

Wir werden ein Programm bauen, das die Note berechnet, die ein Student mit seiner künstlerischen Arbeit erzielt hat. Die Aufgabe ist größer als 50, und die Schüler können die Note A, B, C oder Fail erhalten. Zu Beginn bitten wir unseren Benutzer, eine Notiz einzugeben, die wir in Worten berechnen:

digital_grade = int (raw_input ("Geben Sie eine Notiz ein:"))

Wir verwenden raw_input () , um eine Stimme des Benutzers zu sammeln. Der Benutzer muss vor dem Rest des Programms eine Notiz in unser Programm eingeben. Wir konvertieren den von einem Benutzer eingegebenen Wert in eine Ganzzahl , damit wir später in unserem Code numerische Vergleiche durchführen können. weil raw_input () eine Standardzeichenfolge zurückgibt.

Wir verwenden eine if-Anweisung um die dem Buchstaben entsprechende Note zu berechnen:

Diese Aussage zeigt sowohl den Buchstaben als auch die Zahl note a Student hat.

Lass uns laufen unseren Code und sehen was passiert:

Unser Code gibt einen Fehler zurück .

Die Lösung

Die Fehlermeldung sagt uns, dass wir uns auf einen Wert beziehen, der nicht existiert. Da wir Python 3.x verwenden, um unser Programm auszuführen, existiert raw_input () nicht.

Um unseren Code zu korrigieren, müssen wir unsere raw_input ()-Anweisung mit einer input ()-Anweisung:

Die Anweisungen raw_input () und input () sind funktional identisch. Das bedeutet, dass wir keine weiteren Änderungen an unserem Code vornehmen müssen, um unsere Codebasis mit Python 3.x kompatibel zu machen.

Lassen Sie uns unsere Programm mit dieser Änderung durchgeführt:

Unser Code berechnet erfolgreich die Note eines Schülers.

Hinweis zur Neuzuweisung der raw_input

Eine technisch funktionierende Lösung ist um den Wert von raw_input () der Funktion input () zuzuweisen. Wir können dies mithilfe der Variablenzuweisung tun. Dadurch können Sie eine Funktion namens raw_input () in Ihrem Python 3-Code verwenden.

Betrachten Sie dieses Beispiel:

raw_input = input

Diese Anweisung teilt Python mit, dass der Wert von raw_input () gleich input () sein muss.

Das ist keine gute Lösung, da die offizielle Python 3-Dokumentation nach und nach den Namen raw_input () zugunsten von input () . Einige Entwickler, die Ihren Code lesen, könnten verwirrt sein, wenn sie raw_input () in einer Python 3-Codebasis sehen, was die Entwicklungszeit verlangsamt.

Fazit

Der NameError: the name `raw_input` is not defined Beim Versuch, die Methode raw_input () in Python 3 zu verwenden, wird ein Fehler generiert. Um diesen Fehler zu beheben, ersetzen Sie alle Instanzen von raw_input () durch die Funktion input () in das Programm.

Sie haben jetzt das Wissen, diesen Fehler wie ein professioneller Python-Programmierer zu beheben!

Wir hoffen, dass dieser Artikel Ihnen geholfen hat, das Problem zu lösen. Sehen Sie sich neben Eingabe Ist Nicht Definiert Javascript auch andere JavaScript-bezogene Themen an.

Möchten Sie sich in Python auszeichnen? Sehen Sie sich unseren Rückblick auf die besten Python-Online-Kurse 2022 an. Wenn Sie an Data Science interessiert sind, sehen Sie sich auch an, wie Sie Programmieren in R lernen.

Dieses Material ist übrigens auch in anderen Sprachen verfügbar:



Angelo Robinson

Boston | 2022-11-30

Einfach und klar formuliert. Danke für den Austausch. Eingabe Ist Nicht Definiert Javascript und andere Fragen mit rename war immer mein Schwachpunkt 😁. Werde es in meiner Bachelorarbeit verwenden

Julia Galleotti

Munchen | 2022-11-30

Ich bereitete mich auf mein Programmierinterview vor, danke für die Klarstellung - Eingabe Ist Nicht Definiert Javascript in Python ist nicht das einfachste. Gestern überprüft, funktioniert!

Dmitry Danburry

Berlin | 2022-11-30

Ich bereitete mich auf mein Programmierinterview vor, danke für die Klarstellung - Eingabe Ist Nicht Definiert Javascript in Python ist nicht das einfachste. Melde mich morgen mit Rückmeldung

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

Common xlabel/ylabel for matplotlib subplots

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

12 answers

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

12 answers

NUMPYNUMPY

glob exclude pattern

12 answers

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

12 answers

NUMPYNUMPY

Python CSV error: line contains NULL byte

12 answers

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

12 answers

News


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

sin

How to specify multiple return types using type-hints

exp

Printing words vertically in Python

exp

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

cos

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically