Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #8517
| Date | 2011-06-27 15:58 -0700 |
|---|---|
| From | Ethan Furman <ethan@stoneleaf.us> |
| Subject | Re: Significant figures calculation |
| References | (2 earlier) <mailman.386.1308949143.1164.python-list@python.org> <iu5bgk01v0@news2.newsguy.com> <db874e1f-a827-459c-aa22-5b915e70b682@a11g2000yqm.googlegroups.com> <4E08EDBD.4060803@stoneleaf.us> <BANLkTimu1U_qVHjc3y+Mbq5BZmqAN0MypQ@mail.gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.465.1309214754.1164.python-list@python.org> (permalink) |
Harold Fellermann wrote:
> Hi Ethan,
>
>>>>>> Empirical('1200.').significance
>>> 2
>>>>>> Empirical('1200.0').significance
>>> 5
>> What about when 1200 is actually 4 significant digits? Or 3?
>
> Then you'd simply write 1.200e3 and 1.20e3, respectively.
> That's just how the rules are defined.
But your code is not following them:
Python 3.2 (r32:88445, Feb 20 2011, 21:29:02) [MSC v.1500 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
--> from decimal import Decimal
--> class Empirical(Decimal) :
... @property
... def significance(self) :
... t = self.as_tuple()
... if t[2] < 0 :
... return len(t[1])
... else :
... return len(''.join(map(str,t[1])).rstrip('0'))
...
--> Empirical('1.200E+3').significance
2 # should be four
--> Empirical('1.20E+3').significance
2 # should be three
--> Empirical('1.20E+4').significance
2 # should be three
The negatives appear to work, though:
--> Empirical('1.20E-4').significance
3
--> Empirical('1.2819E-3').significance
5
--> Empirical('1.2819E-1').significance
5
--> Empirical('1.281900E-1').significance
7
~Ethan~
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Significant figures calculation Harold <dadapapa@googlemail.com> - 2011-06-24 13:05 -0700
Re: Significant figures calculation Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-06-24 20:46 +0000
Re: Significant figures calculation Jerry Hill <malaclypse2@gmail.com> - 2011-06-24 16:58 -0400
Re: Significant figures calculation steve+comp.lang.python@pearwood.info - 2011-06-25 10:31 +1000
Re: Significant figures calculation Chris Torek <nospam@torek.net> - 2011-06-25 19:04 +0000
Re: Significant figures calculation Harold <dadapapa@googlemail.com> - 2011-06-26 08:35 -0700
Re: Significant figures calculation Dave Angel <davea@ieee.org> - 2011-06-27 08:04 -0400
Re: Significant figures calculation Harold <dadapapa@googlemail.com> - 2011-06-27 06:40 -0700
Re: Significant figures calculation Ethan Furman <ethan@stoneleaf.us> - 2011-06-27 13:53 -0700
Re: Significant figures calculation Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-06-28 12:56 +1000
Re: Significant figures calculation Chris Angelico <rosuav@gmail.com> - 2011-06-28 13:16 +1000
Re: Significant figures calculation Erik Max Francis <max@alcyone.com> - 2011-06-27 20:45 -0700
Re: Significant figures calculation Mel <mwilson@the-wire.com> - 2011-06-28 07:47 -0400
Re: Significant figures calculation Chris Angelico <rosuav@gmail.com> - 2011-06-28 21:57 +1000
Re: Significant figures calculation Erik Max Francis <max@alcyone.com> - 2011-06-28 11:54 -0700
Re: Significant figures calculation Mel <mwilson@the-wire.com> - 2011-06-28 16:47 -0400
Re: Significant figures calculation Erik Max Francis <max@alcyone.com> - 2011-06-28 14:01 -0700
Re: Significant figures calculation Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2011-06-28 18:35 +1000
Re: Significant figures calculation Erik Max Francis <max@alcyone.com> - 2011-06-28 11:59 -0700
Re: Significant figures calculation Erik Max Francis <max@alcyone.com> - 2011-06-27 20:49 -0700
Re: Significant figures calculation Ethan Furman <ethan@stoneleaf.us> - 2011-06-27 15:58 -0700
Re: Significant figures calculation Harold <dadapapa@googlemail.com> - 2011-06-24 18:50 -0700
csiph-web