get number that is raised to the power of

A

Astan Chee

Hi,
Im not sure if this is more of a math question or a python question. I
have a variable in python:is there a way to find the value of n if i know only v aside from
str(v).split('+')[1] ? that seems like too much of a hack and I was
wondering if there was a faster way of doing it?
Thanks for any pointers
Astan

--
"Formulations of number theory: Complete, Consistent, Non-trivial. Choose two."


Animal Logic
http://www.animallogic.com

Please think of the environment before printing this email.

This email and any attachments may be confidential and/or privileged. If you are not the intended recipient of this email, you must not disclose or use the information contained in it. Please notify the sender immediately and delete this document if you have received it in error. We do not guarantee this email is error or virus free.
 
M

Marc 'BlackJack' Rintsch

Hi,
Im not sure if this is more of a math question or a python question. I
have a variable in python:is there a way to find the value of n if i know only v aside from
str(v).split('+')[1] ? that seems like too much of a hack and I was
wondering if there was a faster way of doing it?

That hack isn't even working properly because ``str(10.0**1)`` has no '+'
in its string representation.

Solution:

n = math.log(v, 10)

Ciao,
Marc 'BlackJack' Rintsch
 
B

Boris Borcic

Marc said:
Hi,
Im not sure if this is more of a math question or a python question. I
have a variable in python:
v = 10.0**n
is there a way to find the value of n if i know only v aside from
str(v).split('+')[1] ?

Astan, you could try something like (n for n in range(1,100) if
10.0**n==v).next() or like len(str(int(v)))-1

Faster ?! How fast do you need it to be ?
That hack isn't even working properly because ``str(10.0**1)`` has no '+'
in its string representation.

OTOH "%.0e" % (10.0**1) does
....but "%.0e" % (10.0**-1) of course doesn't
Solution:

n = math.log(v, 10)

Ciao,
Marc 'BlackJack' Rintsch

Beware of floating point approximations, though. Eg

Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
assert log(10**3,10)==3
AssertionError

Cheers, BB
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,058
Latest member
QQXCharlot

Latest Threads

Top