**Follow my 11-year-old adventures with my Raspberry Pi**

Today, I read a chapter from “Hello World: Computer Programming for Kids and Other Beginners” about variables and math in Python. I learned about strings, floats, and integers and that all made sense. I learned that ‘word’ and “word” mean the same thing, but ‘word” isn’t allowed.

One thing that I didn’t understand is that 3/2 comes out to 1. I understand that it rounded it off. But why didn’t it round up to 2? By the way, to get the result of 1.5, you just have to type “3.0/2”. At first, I thought that float(3/2), but that just put 1.0. I don’t understand that either.

I also learned that Python uses the PEMDAS rules that I learned in school. It does multiplication and division before doing addition and subtraction in an equation. Like if you have “2+2*2” that will come out to be 6 because it does the 2*2 part first. If I want to do the 2 + 2 first, then I have to type “(2 + 2)*2.

I also learned that symbol for “to the power of” is **. So, 2 to the 10^{th} power would be written as “2**10”. Also, if you type “5 % 2” it gives you the remainder of the division problem. In this case, “7 % 2” would be 1. This could be helpful if we needed to see if a number is even or odd.

I learned that Python is going to get rid of the input command and that I should use the int function with raw_input() instead.

I just got to the part where I’m learning how to input text from a website and it was complicated and I’m tired, so I’ll do it some other time.

My dad asked me to come up with a cool project to do with the raspbpi. What do you suggest? He thought I should make it light something up or make something move. But, I like programs that do things inside of the computer.

### Like this:

Like Loading...

In python 2.7, when you divide one integer by another one, it returns the largest integer which is lower than or equal to the quotient. For example:

5/4 –> 1.25 –> the integer division returns 1

199/100 –> 1.99 –> the integer division returns 1

6/3 –> 2 –> the integer division returns 1

A result which looks strange:

(-5)/4 –> -1.25 –> the integer division returns -2

So, -(5/4) is not equal to (-5)/4 !

Now the float question. What is happening when you type float(3/2)? Python will first calculate what is in the parenthesis, 3/2 which returns 1, and then it will apply the float transformation on 1, which returns 1.0.

So, let’s say you have defined variables a and b with the code:

a = 7

b = 2

and you want the exact result of a divided by b?

If you type:

a/b

It returns 3, because both a and b are integer. How to force the division to be exact?

If you type:

float(a/b) what do you get?

Any idea? Answer next time!

Hmm, I swear I tried float(a/b) and float(a)/float(b) and neither of them worked. I just tried both of them in Idle on my laptop and they worked (3.5). When I get back home to my RPi, I’ll have to try it again there. Thanks for the tips, this is much easier.

It all depends on the version of python you are using:

– In python 2.7 (you launch it on the Pi with python), you get a/b = 3 and float(a)/float(b) = 3.5

– In python 3.2.3 (you launch it with python3), you get a/b = 3.5

There are a few differences between the two versions, the most visible ones being the integer division, the raw_input statement and the print statement. There is a converter callde 2to3 (http://docs.python.org/2/library/2to3.html) to help in the code conversion.