result = []
for i in range(5):
result.append(1*10**i)
>>> result
[1, 10, 100, 1000, 10000]
如果你真的想用科学记数法,那么
result = []
for n in range(5):
result.append(int(float(f"1e{n}"))) #converting to int directly gives: ValueError: invalid literal for int() with base 10: '1e0'
>>> result
[1, 10, 100, 1000, 10000]
6条答案
按热度按时间mnemlml81#
为了未来的观众。
因为Python 3.6
PEP 515
将被包含。所以你可以使用
a = 1_000_000_000_000
来提高代码的可读性。bxpogfeg2#
使用
*
和**
,它并不漂亮,但能给你正确的结果。你也可以像这样生成一个完整的列表:
如果你真的想用科学记数法,那么
yzuktlbb3#
在input中,可以指定带下划线的整数。
从python 3.10开始,还可以使用
pprint
库方法,比如pprint.pprint
和pprint.pformat
搭配underscore_numbers=True
来输出带下划线的整数。这对非整数没有影响。示例:
另见:
python human readable large numbers
pcww981p4#
你可以设置一些后缀
或使用较长的名称(kilo等)。
jvidinwx5#
你可以使用逗号分隔符来表示千位数,作为一个字符串,然后转换为一个int。
jrcvhitl6#
你可以做这样的事情,这避免了浮点数到int的转换问题,在我看来是相当可读的:
输出: