"Andre' Walker-Loud" <walksl...@gmail.com> wrote

a = 0.00762921383941
ea = 0.000830132912068
a / ea
9.190352205653852

By default, I will print the uncertainty ("ea") with two significant digits.
In this example, the central value is about 10 times larger than the
uncertainty, so I want to print it with 3 significant figures.

I don't understand why the difference but if the deciding factor is related to the ratio why bother with all the string stuff? Just use the ratio directly...

p = int(("%.1e" % (a / ea)).split('e')[-1]) # grab the power in the scientific notation (is there a better way?)
if p >= 0:

Why not just

limit = 10
n = 3 if a/ea <= limit else n = 2 # or whatever expression is needed to calculate n
fmt = "%.%de + %.1e" % n  else:

print fmt % (a, ea)


But I suspect I'm missing something in your reasoning about what size of n you want.

--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/



_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to