## A community for students. Sign up today

Here's the question you clicked on:

## silversteed 2 years ago x = 10.0 for i in range(10): x +=0.1 print x == 11.0 Why is this false? I print x and it equals 11.0

• This Question is Open
1. rsmith6559

Floating point is basically a binary scientific notation. It's accuracy is greatest when dealing with numbers that are close to a power of 2. A number like 11.0, although it prints as 11.0, is probably several ten thousandths off. That's enough so that it doesn't compare equal to your literal 11.0.

2. hootenanny

At the point in the lecture series where I'm at, the prof alludes to a future lecture that discusses the internal representation of reals ie floating point. I'm guessing that if there's a function that can specify that the real number be accurate to the nearest tenth then I imagine this code snippet could work.

3. hootenanny

I found this technical explanation http://docs.python.org/2/tutorial/floatingpoint.html#tut-fp-issues

4. silversteed

Thank you for the answer. I thought that was the reason for this output. Didn't expect it on a practice quiz.

#### Ask your own question

Sign Up
Find more explanations on OpenStudy
Privacy Policy