[Tutor] Could you look over my code?
Steven D'Aprano
steve at pearwood.info
Mon Jan 5 03:39:57 CET 2015
Hi Connor, and welcome. My response is below.
On Sun, Jan 04, 2015 at 04:13:50PM +0000, Connor Perkis wrote:
> Hello, I am currently learning python and I have a book to assist me
> called ‘Python Programming For The Absolute Beginner (3E)’ and I’ve
> just read the first chapter. I typed the code. Would you be able to
> help me with:
>
> 1.How to execute .py files properly on Mac OSX Yosemite
Good question! I don't have a Mac, so I'm going to have to guess.
I *guess* that the simplest way is to use the command line. To do that,
you need to run the Terminal application. Here is a video that claims to
show you how to do that, although I have not watched it:
http://www.youtube.com/watch?v=zw7Nd67_aFw
Here are some more instructions:
http://www.wikihow.com/Open-Applications-Using-Terminal-on-Mac
Once you have the terminal open, you will be presented with a command
line prompt. It may look something like:
MyMacPro:~ connor$
Notice the dollar sign at the end? That tells you that you are in the
system shell, not python. Now you can run Python: type the following
command, and press the ENTER key at the end:
python
You might need to specify a version number, say:
python3.4
but I don't know what version you have installed.
This will get you into the Python interactive interpreter, sometimes
called the REPL ("Read, Eval, Print, Loop"). You can tell you are in the
Python interactive interpreter, because the prompt will change to >>>
(three greater-than symbols) instead.
The interactive interpreter is really useful for using Python as a
calculator, or to test small pieces of code. To exit the Python
interpreter when you are finished, enter:
quit()
and you will be returned to the system shell with its $ prompt.
Do that now, because we're not going to use Python interactively.
Instead, let's run your file.
At the system prompt, type:
python path/to/my/script.py
then press ENTER. Again, you might need to include the version number:
python2.7 path/to/my/script.py
for example. Very important, don't write *literally*
"path/to/my/script.py", that probably won't work. You need to specify
the pathname to your file. How do you do that?
If your file is called "game.py" (it should end with .py) and it is
inside a folder called "projects", which is inside your home directory,
then you would type:
projects/game.py
Adjust as needed depending on which folders (if any) you use and the
name of the file.
If you have trouble with this bit, tell us:
- the version number of Python you are using
- the name of the file
- where it is (the name of each folder it is inside)
and we ought to be able to work out what command line you need to use.
I strongly recommend that you learn how to use the command line, because
when it comes to programming it will be very useful. But there are other
alternatives, such as IDLE, and the OS X Finder. You can read more
instructions here, and a few videos (which I haven't watched):
https://docs.python.org/3/using/mac.html
http://www.youtube.com/watch?v=ZBo0DuK92Kc
http://www.youtube.com/watch?v=BE1wDsLzOJA
If you're still having trouble after reading and/or watching these,
please feel free to ask for more help.
> 2. Have a look at this code fro the book and tell me what to improve
> (This is a program where it says game over, and it waits for the user
> to press the enter key to quit:
>
> print(“Game Over”)
> input(“\n\nPress the enter key to exit”)
Are you using Python 3 or better? If so, that code is absolutely fine
and will work perfectly. It is so short and sweet that there is nothing
to improve.
If you are using Python 2, you may find that it gives you an error,
which will probably look like this:
SyntaxError: unexpected EOF while parsing
Don't be distressed! You've just stumbled across a small difference
between Python version 2 and version 3. In Python 3, you should use
"raw_input" instead of "input", so your code will look like this:
print("Game Over")
raw_input("\n\nPress the enter key to exit")
--
Steven
More information about the Tutor
mailing list