I am wondering why the result of log base 10 (1.5) in python = 0.405465108108 while the real answer = 0.176091259.

This is the code that I wrote:

import math print math.log(1.5) 

Can someone tell how to solve this issue?

2

4 Answers

From the documentation:

With one argument, return the natural logarithm of x (to base e).

With two arguments, return the logarithm of x to the given base, calculated as log(x)/log(base).

But the log10 is made available as math.log10(), which does not resort to log division if possible.

1

If you use log without base it uses e.

From the comment

Return the logarithm of x to the given base.
If the base not specified, returns the natural logarithm (base e) of x.

Therefor you have to use:

import math print( math.log(1.5, 10)) 
3
math.log10(1.5) 

Use the log10 function in the math module.

The math.log function is to the base e, i.e. natural logarithm. If you want to the base 10 use math.log10.