## Monday, June 8, 2009

### Introduction

Well, we can make one-liner programs. So What? You want to send programs to other people, so that they can use them, without knowing how to write them.

Writing programs in python to a file is VERY easy. Python programs are simply text documents - you can open them up in notepad, and have a look at them, just like that. So, go and open notepad. Type the following:

Code Example 1 - mary.py
#A simple program.print "Mary had a little lamb,"print "it's fleece was white as snow;"print "and everywhere that Mary went",print "her lamb was sure to go."

Keep this exactly the same, down to where the commas are placed. Save the file as 'mary.py' - and make sure notepad doesn't add .txt to the end of the filename - You will have to tell it to save as any file, to avoid this. Turn off 'Hide known file extensions' in Windows Explorer, if it makes it easier.

### Using the IDLE Environment

Now, open up the Python IDLE program (should be in your start menu). Click 'File > Open' and find mary.py and open it. if you cant find mary.py, set the open dialogue to 'Files of type: All Files (*)'. A new window will open, showing the program you just wrote. To run your program, click 'Run>Run Module' (or just press F5). Your program will now run in the main Python screen (Titled *Python Shell*) and will look like this:

Code Example 2 - mary.py output
Mary had a little lamb,it's fleece was white as snow;and everywhere that Mary went her lamb was sure to go.

You can also use IDLE to create Python programs, like what you did in notepad. Simply click 'File > New'. We will be writing all of our programs now in the python IDLE program - the notepad thing is just a demonstration to tell you that a .py file is just a simple text file, which anyone can see.

There are a couple of things to notice here:

• First of all, the comment wasn't shown. That is good, because remember - comments aren't compiled. (try compiling it after removing the # - it comes out messy)
• Second, is that the 3rd and 4th line got joined. This is because there is a comma just outside the inverted commas that surround the text. In the 'print' command, this stops the program from starting a new line on the screen when showing text.
• You can also run the program from your command line program (e.g. MSDOS) - Open the prompt up, type 'cd path\to\your\file' then type 'python mary.py'. Your program will now execute in the command line.

### Variables

Now lets start introducing variables. Variables store a value, that can be looked at or changed at a later time. Let's make a program that uses variables. Open up IDLE, click 'File>New Window' - a new window now appears, and it is easy to type in programs. Type the following (or just copy and paste - just read very carefully, and compare the code to the output that the program will make):

Code Example 3 - Variables
#variables demonstratedprint "This program is a demo of variables"v = 1print "The value of v is now", vv = v + 1print "v now equals itself plus one, making it worth", vv = 51print "v can store any numerical value, to be used elsewhere."print "for example, in a sentence. v is now worth", vprint "v times 5 equals", v*5print "but v still only remains", vprint "to make v five times bigger, you would have to type v = v * 5"v = v * 5print "there you go, now v equals", v, "and not", v / 5

### Strings

As you can see, variables store values, for use at a later time. You can change them at any time. You can put in more than numbers, though. Variables can hold things like text. A variable that holds text is called a string. Try this program:

Code Example 4 - Strings
#giving variables text, and adding text.word1 = "Good"word2 = "Morning"word3 = "to you too!"print word1, word2sentence = word1 + " " + word2 + " " +word3print sentence

The output will be:

Code Example 5 - String output
Good MorningGood Morning to you too!

As you see, the variables above were holding text. Variable names can also be longer than one letter - here, we had word1, word2, and word3. As you can also see, strings can be added together to make longer words or sentences. However, it doesn't add spaces in between the words - hence me putting in the " " things (there is one space between those).