Solving problem is about exposing yourself to as many situations as possible like error in python d not defined. [duplicate] and practice these strategies over and over. With time, it becomes second nature and a natural way you approach any problems in general. Big or small, always start with a plan, use other strategies mentioned here till you are confident and ready to code the solution.
In this post, my aim is to share an overview the topic about error in python d not defined. [duplicate], which can be followed any time. Take easy to follow this discuss.
I am learning python and have this error . I can figure out wherewhat the error is in the code.
File "<string>", line 1, in <module>.
Name = "" Desc = "" Gender = "" Race = "" # Prompt user for user-defined information Name = input('What is your Name? ') Desc = input('Describe yourself: ')
When i run the program
What is your Name? (i input d )
this gives the error
Traceback (most recent call last): File "/python/chargen.py", line 19, in <module> Name = input('What is your Name? ') File "<string>", line 1, in <module> NameError: name 'd' is not defined
This is an example code from Python 3 for Absolute Beginners.
In Python 2.x,
input() expects something which is a Python expression, which means that if you type
d it interprets that as a variable named d. If you typed
"d", then it would be fine.
What you probably actually want for 2.x is
raw_input(), which returns the entered value as a raw string instead of evaluating it.
Since you’re getting this behavior, it looks like you’re using a 2.x version of the Python interpreter – instead, I’d go to www.python.org and download a Python 3.x interpreter so that it will match up with the book you’re using.
You’re probably using Python 2.x, where
eval the user input. Only in Python 3.x
input() returns the raw user input.
You can check the version of Python by running
python in console, e.g. this is Python 2.6:
~$ python Python 2.6.5 (r265:79063, Apr 5 2010, 00:18:33) [GCC 4.2.1 (Apple Inc. build 5659)] on darwin Type "help", "copyright", "credits" or "license" for more information.
You can run a specific version of Python (e.g. 3.1) by
~$ python3.1 Python 3.1.1 (r311:74480, Jan 25 2010, 15:23:53) [GCC 4.2.1 (Apple Inc. build 5646) (dot 1)] on darwin Type "help", "copyright", "credits" or "license" for more information.
In Python 3.0 and above, which the book you are using teaches,
input() does what
raw_input() did in Python 2, so in that case the code would be correct; however, it appears that you are using an older version of Python (2.6?).
I would recommend going to the Python website and downloading the latest version of Python 3 instead, so you have an easier time following the book.
The immediate problem, given that you are using Python 2, is that you’re using
input(), which evaluates whatever you give it. What you want to do is get the raw string that the user input:
Name = raw_input("What is your Name? ")
There are lots of little differences between Python 3.x and 2.x, so definitely go get the latest Python 3 if you want to keep using Python 3 for Absolute Beginners.