Python 'e' нотация - PullRequest
       58

Python 'e' нотация

1 голос
/ 23 апреля 2020

Я пытаюсь использовать 1e6 для возврата 1000000, но мне нужно установить '6' для переменной. Но

units = int(6)
1e(units)

дает мне синтаксическую ошибку. Справочные документы python не содержат подробностей о том, как использовать переменные вместо целых чисел для достижения этой цели.

Ответы [ 2 ]

4 голосов
/ 23 апреля 2020

Обозначение e является коротким для 10, возведенных в степень, поэтому вы можете сделать что-то похожее

>>> units = 6
>>> 10 ** units
1000000

Или, в более широком смысле,

def e(base, exp):
    return base * 10 ** exp

>>> e(1, 6)    # 1e6
1000000
>>> e(2.5, 6)  # 2.5e6
2500000.0
1 голос
/ 23 апреля 2020

Вы можете сделать, как предложил CoryKramer, вот другой способ ниже:

>>> units = 6
>>> float(f'1e{units}')
1000000.0
...