使用变量的科学计数法

时间:2019-10-09 14:21:47

标签: python

尝试使用科学计数法(或exponential notation)生成十进制数字,例如:

1.e-2
# 0.01

我意识到使用变量作为指数会产生错误:

n = -2
1.e**n
  

文件“”,第2行

   1.e**n
     ^
SyntaxError: invalid syntax

现在我知道我可以类似地以m × 10n的形式编写它:

n = -2
1.*10**n
# 0.01

但是我想知道是否有办法解决这个问题,所以我可以理想地坚持以前的表示法。

1 个答案:

答案 0 :(得分:4)

不,不可能。在第一种情况下,它是 literal ,可以用特殊的方式进行解析。在第二种情况下,它是表达式。该语言无法将您的意思与任何正则表达式区分开。

请参阅示例语法,了解如何解析浮点文字。它使用的是旧版本的python,但在最新版本的语法中找不到。

https://docs.python.org/2.0/ref/floating.html