Печать элегантно в научной c нотации python - PullRequest
1 голос
/ 16 февраля 2020

Я хочу напечатать число и его неопределенность следующим образом:

x = (4,23 ± 0,01) e3

где значение и его неопределенность - это две разные переменные.

mean = 4230
uncertainty = 10 
print("x is %.2e \u00B1 %.2e" % (mean, uncertainty))

Я хочу, чтобы они были отформатированы с той же степенью экспоненты в научной нотации c. что я получаю

x is 4.23e+03 ± 1.00e+01

1 Ответ

0 голосов
/ 16 февраля 2020

Предполагая, что среднее целое число, способ сделать это может быть

>>> mean = 4230
>>> uncertainty = 10 
>>> pos_to_first = len(str(mean)) - 1
>>> f"({mean/10**pos_to_first} ± {uncertainty/10**pos_to_first}) E{pos_to_first}"
'(4.23 ± 0.01) E3'
...