# Learning Python 3 with the Linkbot/Hello, World
### What you should know

Once you've completed this chapter, you will know how to edit programs in a Python Editor, IDLE 3, or some other text editor, save them, and run them.

### Printing

Since the beginning of programming tutorials, "Hello World!" has been the first foray into creating something on the screen, here is how to do it with Python:
If you are using the command line to run this program, then type it in a text editor, save it as hello.py and run it with python3.0 hello.py
Otherwise go into your Python Editor, create a new file (Ctrl + N for IDLE), and create the program as in section Creating and Running Programs.
When this program is run here's what it prints:
Remember, whenever you see code as an example, it's a good idea for you to type it in and run it. Learning by doing can be a powerful tool! It is worth the time it takes.
Here is a modified 'Hello World' using the Linkbot to say hello. Comments are added to help you understand what the code is doing step by step.
Feel free to chance the frequency of the buzzer to change the tone, and the duration of time.sleep to see what that does to the greeting.
Now here is are a few more program:
When you run this program it prints out:
When the computer runs this program it first sees the line (like one sentence of code):
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.

#### Controlling a Linkbot LED Color

Linkbots are equipped with a multi-color LED, which is basically just a light that can change colors. Lets try a simple program to control the LED color on a Linkbot. To get started, follow these steps:
* Turn on your Linkbot by holding down the power button until the Linkbot flashes a bright red light.
* After about 5 seconds, the Linkbot will beep and show a blue light. Your Linkbot is now on!
* Take a Micro-USB cable and connect the Linkbot to your computer.
* Open your text editor and try the following code:https://en.wikibooks.org/wiki/Learning_Python_3_with_the_Barobo_Linkbot
When you run this program, you should notice that your Linkbot turned green! In the code that you wrote, there were three numbers: 0, 255, and 0. These three numbers determine the brightness of the red, green, and blue LEDs inside the linkbot, where 0 denotes the lowest brightness setting and 255 the maximum setting. If you want to try making your Linkbot a brilliant purple color, try setting the color numbers to "255, 0, 255". This tells the Linkbot to turn on its red and blue LED's to their maximum brightness. When the red light blends with the blue light, it appears purple!

#### 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.

### 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.
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 mathematical expression 2 + 2, which is commonly referred to as an 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.

### Talking to humans (and other intelligent beings)

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 a 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 math functions.
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 math functions.

#### Footnotes

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