| MAIN PAGE |
INTRODUCTION |
Starting
Off |
PROGRAMS | LINKS AND
MATERIALS |
Choosing a LanguageAfter reading the "How to Become a Hacker"- article by Eric Steven Raymond, I have decided to start with the python programing language, as acording to Eric Steven Raymond: "If you don't know any computer languages, I recommend starting with Python. It is cleanly designed, well documented, and relatively kind to beginners". Therefore I skipped right to the Python-page for more knowledge. Apperently in order for you to write a Python program, you don't need anything else but text editor, however in order to execute your new program you will need Python installed on your computer in order for it to translate all the code you write into commands for the PC. So therefore download the latest Python installer for your desired OS.Now to create programs open the program called IDLE from the start meny under python click "File ---> New window" and you are set to go... the window that now opens is sort of a text editor, with the fancy fact that some words will get highlighted in a specific colour. I will do my best to use those colours when doing the tutorials any mistakes should be mailed to learning.python@dbmail.dk. In my guide I assume that everyone is using either a text editor or Pythons IDLE editor, although you will be able to do most from the Python shell just as easily. When you fiddle around with python trying to make even simple programs you might get a lot of error messages, especially those blooded “syntax errors” and “name errors” these are the simplest mistakes in Python, which varies from simple spelling mistakes to leaving out important signs (called syntax). Also note that Python is CASE sensitive. For more info on error messages go here. |
top | |||||||||||
The First ProgramAfter browsing some tutorials on Python I have decided to start off with the "Instant Hacking"-tutorial simply because it has a cool name! For starters this goes on about some cooking recipes (zzz) so we skip that part and come to something a little more interesting. Apparently there is some tradition that the first program you make displays "Hello World!" on the screen.For this to happen the print-statement is introduced. The print-statement is needed for tekst to appear on the screen. So we will do it like this: print "Hello World!"Now in order to execute the program you will need to save it on your disk, do that and make a name for it like helloworld.py (remember the ending ".py" even when saving it from IDLE - when saving from other text editors, you might want to put the file name in quotes ["] so the program does mot save it as a filename.py.txt). All there is left to do now is to choose "Run script" from the "Edit" curtain, and it should be working. So this is the first program we have made, simple little thing isn't it... Well don't worry about that: IT WORKS! As you can see "Hello World!" is highlighted in green that is because it is written in quotes, which tells the python interpretor (i think that's what it's called) that this is a string of characters (or simply a string) and is not to be interpreted, meaning that python will just display it without manipulating it(if that makes sense). You can add more to it, e.g. you can go to the next line and type: print "Hello World!"When we run this input python will output this: Hello World!The print-statement needs to be the first text on the line from the left and cannot be used more then one time on any line. Also when you start a line with print this will be like pressing [Enter] at the end of a line in a text document, i.e. when the output has been displayed, python will begin on a new line. So if you want display "Goodbye World!" on the same line as "Hello World!" you can separate the character stings with a [,] (comma). Like this (you could also write both things witin the qoutes but that would not illustrate my point :-)): print "Hello World!","Goodbye World!"When saved and run it should now display: Hello World! Goodbye World!So if you would like to display more then one thing on the same line you can use [,] to do that we'll be getting at why this could be useful later. Note that when you use [,] it will be substituted with a [spc] (space). |
top program |
|||||||||||
Using Python as a CalculatorMoving on to some numbers we should quikly learn that python also operates as a calculator, this might have some very important implications later on, but for now it just means that when we want to display results we can just make the calculations for Python to chew on, and then show the result.e.g. if I wanted to make a program that should display the result of this calculation: Now instead of
calculating the result and then state the result you can get Python to
do it for you.Continuing the example: print (5**0.5)/(3.14*(5**2))Or if you think it looks better, you can use spacings between the operators and the numbers: print (5 ** 0.5) / (3.14 * (5**2) )
Note pi is rounded off to 3.14, which might be enough for some. However if you would like a more accurate pi you can peak ahead on importing modules. Which we will get to later. And now for some explanations, the calculation operators are:
print "The result off:(5**0.5)/(3.14*(5**2)) =",(5**0.5)/(3.14*(5**2))By combining a string and a calculation seperated by a [,] we get this output: The result off:(5**0.5)/(3.14*(5**2)) = 0.0284849423885As you can see, the first calculations is not calculated because it is within the quote signs and thus making it part of the string. But maybe if we could replace (5**0.5)/(3.14*(5**2)), we would not have to write so much… BIG NOTE ON DIVIDING: Apparently my old note was incorrect (se below). it seems that there are to different classes of numbers integers and floats, these are automatally assigned in Python by it detecting whether you are using <old note>when dividing in Python always use a floating number or time you calculation with 1.0, because Python will not use floating numbers in the result if you don not use floating numbers, and since Python always rounds down you may get some very big mistakes later on if you reuse the result. E.g. in Python 99/100 = 0, which clearly is not true.</old note> |
top |
|||||||||||
|
HAPPY NEW YEAR ALL....
VariablesWith variables we can do exactly that, and it is the alpha and omega for more advanced tricks and fiddles. Variables can only be used in (at time of writing), an independent saved file. It is done rather simple, by using an equal sign [=]. Building further on the example from before, it has two grouped constants on both sides of the dividend, i.e. (5**0.5) divided by (3.14*(5**2)). So lets set each of them into a variable. Remember that Python is case sensitive so A ≠ a, and vice versa.a = (5**0.5)Now whenever we want use any of these set numbers, we just use the letter(s) that they are said to be equal to. How simple can it be? Now when using variables you cannot use them within the quotes, as they would not be manipulated, as I stated in the beginning. So if we want display more things on the line, like: a / b = c. Assuming that a, b and c has been defined as above: print a,"divided by",b,"equals",cOr: print a,"divided by",b,"equals",a/bNow save and run, it should read: 2.2360679775 divided by 78.5 equals 0.0284849423885As you can see when Python recognises the variable (i.e. a, b or c) it will automatically treat it as a number so you can automatically use them in formulas like shown in example two. Variables can also be specified to strings (remember those quotes). My examples above have only used variables in a very simple and a none informative way, because if you were to use some of the variables again later in you code, it might be difficult to remember which of the variables were which, don not worry as you can use more then just a single letter. E.g. “(5**0.5)” could also be “saved” as squareroot squareroot_of_5 = (5**0.5)This will do exactly the same as “a” before, however it is quite long, so a shortening down to something like sqrt_of_5 might be better as it is clearly understandable (could be shorter though). So variables should be short yet descriptive. You cannot sign variables to (raw)numbers, variables can only be given to alpha-numeric ISO-recognised characters. |
||||||||||||