L’Entrée N’Est Pas Définie Javascript

| | | |

Python 3 a remplacé la méthode raw_input () de Python 2 par la méthode input () . Si vous essayez d’utiliser raw_input () dans Python 3, vous rencontrerez l’erreur NameError: name ’raw_input’ undefined.

Dans ce guide, nous discuterons de la signification de cette erreur et des raisons pour lesquelles vous pouvez la rencontrer. Nous allons regarder un exemple de cette erreur, avec une solution, afin que vous puissiez apprendre à la corriger.

NameError: le nom ’raw_input’ n’est pas défini

Le raw_input ( ) dans Python 2 collecte les entrées d’un utilisateur. Cette entrée peut être convertie en n’importe quel type de données, tel qu’une chaaîne, un entier ou un nombre à virgule flottante.

Considérez ce code:

nom d’utilisateur = raw_input ("Entrez un nom d’utilisateur:")

Nous pouvons utiliser ce code pour collecter un nom d’utilisateur auprès d’un utilisateur en Python 2.

√ätre capable de collecter les données d’un utilisateur signifie que vous pouvez rendre vos programmes interactifs. Vous n’avez pas seulement à définir toutes les données dans le programme que vous utiliserez. Vous pouvez demander à un utilisateur de fournir des données.

Dans Python 3, de nombreuses modifications ont été apportées au langage Python. Parmi eux se trouve raw_input () qui a été renommé en input (). Les deux fonctions collectent une donnée de sys.stdin (également appelée "entrée standard") et renvoient cette donnée à un programme.

Un exemple de scénario

Nous allons construire un programme qui calcule la note qu’un élève a obtenue avec son devoir artistique. Le devoir est supérieur à 50 et les étudiants peuvent recevoir une note A, B, C ou √âchec. Pour commencer, nous demandons à notre utilisateur d’entrer une note dont nous allons calculer la note en mots:

digital_grade = int (raw_input ("Entrez une note:"))

Nous utilisons raw_input () pour collecter un vote de l’utilisateur. L’utilisateur doit entrer une note dans notre programme avant le reste du programme. Nous convertissons la valeur saisie par un utilisateur en un entier afin que nous puissions effectuer des comparaisons numériques plus tard dans notre code. car raw_input () renvoie une chaaîne par défaut.

Nous utiliserons une instruction if pour calculer la note correspondant au lettre:

Nous utilisons un if, deux elifs et un autre énoncé pour calculer la note en lettres qu’un étudiant a obtenue en fonction de la note numérique que l’utilisateur a saisie dans le programme.

Notre dernière étape consiste à imprimer un message sur la console informer l’utilisateur des résultats de notre calcul:

Cette déclaration montrera à la fois la lettre et la note numérique qu’un étudiant a obtenu.

Exécutons notre code et voyons ce qui se passe:

Notre code renvoie une erreur.

La solution

Le message d’erreur nous indique que nous faisons référence à une valeur qui n’existe pas. Puisque nous utilisons Python 3.x pour exécuter notre programme, raw_input () n’existe pas.

Pour corriger notre code, nous devons remplacer notre instruction raw_input () avec une instruction input ():

Les instructions raw_input () et input () sont fonctionnellement identiques. Cela signifie que nous n’avons pas besoin d’apporter d’autres modifications à notre code pour rendre notre base de code compatible avec Python 3.x.

Exécutons le notre programme avec ce changement fait:

Notre code calcule avec succès la note d’un élève.

Une note sur la réaffectation de la fonction raw_input

Une solution qui fonctionne techniquement consiste à affecter la valeur de raw_input() à la fonction input(). Nous pouvons le faire en utilisant affectation de variable . Cela vous permettra d’utiliser une fonction appelée raw_input () dans votre code Python 3.

Considérez cet exemple:

raw_input = input

Cette instruction indique à Python que la valeur de raw_input () doit être égale à input () .

Ce n’est pas une bonne solution car la documentation officielle de Python 3 a progressivement supprimé le nom raw_input() au profit de input() . Certains développeurs lisant votre code peuvent être confus s’ils voient raw_input () dans une base de code Python 3, ralentissant ainsi le temps de développement.

Conclusion

Le NameError: le nom ’raw_input’ n’est pas défini une erreur est générée lors de la tentative d’utilisation de la méthode raw_input () dans Python 3. Pour corriger cette erreur, remplacez toutes les instances de raw_input () par l’entrée () fonction dans le programme.

Vous avez maintenant les connaissances nécessaires pour corriger cette erreur comme un programmeur Python professionnel !

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