# Non-Programmer's Tutorial for Python 3/Hello, World
### What you should know

Once you've read and mastered this chapter, you should know how to edit programs in a text editor or IDLE, save them to the hard disk, and run them once they have been saved.

### Printing

Programming tutorials since the beginning of time have started with a little program called "Hello, World!" So here it is:
If you are using the command line to run programs then type it in with a text editor, save it as hello.py and run it with python3 hello.py
Otherwise go into IDLE, create a new window, and create the program as in section Creating and Running Programs.
When you run this program, the output will look as follows:
Now I'm not going to tell you this every time, but when I show you a program, I recommend that you type it yourself and run it (as opposed to copy/pasting it). I tend to learn and internalize the learning material better when I type it in, and you will probably too!
Now here is a more complicated program:
When you run this program it prints out:
When the computer runs this program it first sees the line:
so the computer prints:
Then the computer goes down to the next line and sees:
So the computer prints to the screen:
The computer keeps looking at each line, follows the command and then goes on to the next line. The computer keeps running commands until it reaches the end of the program.

#### Terminology

Now is probably a good time to give you a bit of an explanation of what is happening - and a little bit of programming terminology.
What we were doing above was using a function called print. The function's name - print - is followed by parentheses containing zero or more arguments. So in this example
there is one argument, which is "Hello, World!". Note that this argument is a group of characters enclosed in double quotes (""). This is commonly referred to as a string of characters, or string, for short. Another example of a string is "Jack and Jill went up a hill". The combination of a function and parentheses with the arguments is a function call.
A function and its arguments are one type of statement that python has, so
is an example of a statement. Basically, you can think of a statement as a single line in a program.
That's probably more than enough terminology for now.

#### \n in Printing

\n, or newline in printing makes the strings after the \n in a new line, it is also an escape character, here is an example:
Here is the output:
It can be used to put a bunch of strings that are supposed to be on different lines into 1 print statement instead of making multiple print statements
The print statement also sort of uses \n even if you do not use it for example:
is actually
Well, there is a difference if you do it manually, but python actually adds a newline "behind the scenes" at the end of the string

### Expressions

Here is another program:
And here is the output when the program is run:
As you can see, Python can turn your thousand-dollar computer into a five-dollar calculator.

#### Arithmetic expressions

In this example, the print function is followed by two arguments, with each of the arguments separated by a comma. So with the first line of the program
The first argument is the string "2 + 2 is" and the second argument is the arithmetic expression 2 + 2, which is one kind of expression.
What is important to note is that a string is printed as is (without the enclosing double quotes), but an expression is evaluated, or converted to its actual value.
Python has seven basic operations for numbers:
| Operation | Symbol | Example |
| Power (exponentiation) | ** | 5 ** 2 == 25 |
| Multiplication | * | 2 * 3 == 6 |
| Division | / | 14 / 3 == 4.666666666666667 |
| Integer Division | // | 14 // 3 == 4 |
| Remainder (modulo) | % | 14 % 3 == 2 |
| Addition | + | 1 + 2 == 3 |
| Subtraction | - | 4 - 3 == 1 |
Notice that there are two ways to do division, one that returns the repeating decimal, and the other that can get the remainder and the whole number.
The order of operations is the same as in math:
* parentheses
* exponents **
* multiplication *, division /, integer division //, and remainder %
* addition + and subtraction -
So use parentheses to structure your formulas when needed.

### Commenting in Python

Often in programming, you are doing something complicated and may not in the future remember what you did. When this happens the program should probably be commented. A comment is a note to you and other programmers explaining what is happening. For example:
Which outputs
Notice that the comment starts with a hash: #. Comments are used to communicate with others who read the program and your future self to make clear what is complicated.
Note that any text can follow comment and that when the program is run, the text after the # through to the end of that line is ignored. The # does not have to be at the beginning of a new line:

### Examples

Each chapter (eventually) will contain examples of the programming features introduced in the chapter. You should at least look over them and see if you understand them. If you don't, you may want to type them in and see what happens. Mess around with them, change them and see what happens.
Denmark.py
Output:
School.py
Output:

### Exercises

* Write a program that prints your full name and your birthday as separate strings.
* Write a program that shows the use of all 7 arithmetic operations.
1. Write a program that prints your full name and your birthday as separate strings.
2. Write a program that shows the use of all 7 arithmetic operations.

#### Footnotes

* ↑ Here is a great list of the famous "Hello, world!" program in many programming languages. Just so you know how simple Python can be...