小编Mat*_*teo的帖子

Python decimal.InvalidOperation错误

运行这样的东西时,我总是遇到这个错误:

from decimal import *
getcontext().prec =30

b=("2/3")

Decimal(b)
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "Test.py", line 6, in <module>
    Decimal(b)
decimal.InvalidOperation: [<class 'decimal.ConversionSyntax'>]
Run Code Online (Sandbox Code Playgroud)

另外,为什么我从控制台得到这个结果?

>>> Decimal(2/3)
Decimal('0.66666666666666662965923251249478198587894439697265625')
Run Code Online (Sandbox Code Playgroud)

谢谢

python math python-3.x

8
推荐指数
1
解决办法
2万
查看次数

Python,计算计算状态会降低计算本身的速度

这是我所说的基本例子:

从0到10000000计数

import time

k = 0

beginning = time.time()

while k < 10000000:

    k = k+1

elapsed = round(time.time()-beginning, 5)

print (elapsed)
Run Code Online (Sandbox Code Playgroud)

现在有了一种计算的"状态"(每1秒显示一次百分比):

import time

k = 0

beginning = time.time()
interval = time.time()

while k < 10000000:

    if time.time() - interval > 1:
        print (round((k/100000), 5))
        interval = time.time()

    k = k+1

elapsed = round(time.time()-beginning, 5)

print (elapsed)
Run Code Online (Sandbox Code Playgroud)

第一个示例需要3.67188秒,第二个示例需要12.62541秒.我想这是因为脚本必须不断检查是否已经过了1秒.有没有办法解决这个问题?我发现了一些关于线程和多进程的东西,但我无法弄清楚如何实现它.谢谢

python performance computation

5
推荐指数
1
解决办法
97
查看次数

标签 统计

python ×2

computation ×1

math ×1

performance ×1

python-3.x ×1