lia*_*mic 3 python string converter type-conversion python-2.7
我正在用python解决大量阶乘,发现当我完成计算阶乘时,转换成字符串并保存到文件需要花费相同的时间。我试图找到一种将int转换为字符串的快速方法。我将举一个计算和int转换时间的示例。我正在使用泛型a = str(a),但感觉像使用缓冲区或库那样有更好的方法。
例如:
解决100,000个阶乘= 456,574 Digets
计算时间:6.36秒
转换时间:5.20秒
如果您有任何阻塞/解决方案,请告诉我!一切都会有帮助的。
import time
factorial = 1
print(" ")
one = int(input("lower = "))
two = int(input("higher = "))
start = time.time()
for x in range(one,two + 1):
factorial = factorial * two
two = two - 1
end = time.time()
print("DONE! ")
print(end - start, "Seconds to compute")
start = time.time()
factorial = str(factorial)
f = open('Ans_1.txt','w')
f.write(factorial)
f.close()
end = time.time()
print(end - start, "Seconds to convert and save")
print(len(factorial), "Digets")
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以尝试gmpy2 x.digits([base])。
import time
from gmpy2 import mpz
x = 123456789**12345
start = time.time()
python_str = str(x)
end = time.time()
print(end - start, "Python conversion time")
r = mpz(x)
start = time.time()
gmpy2_str = r.digits()
end = time.time()
print(end-start, "gmpy2 conversion time")
Run Code Online (Sandbox Code Playgroud)
以上测试输出:
1.0336394309997559 Python转换时间
0.03306150436401367 gmpy2转换时间
| 归档时间: |
|
| 查看次数: |
3419 次 |
| 最近记录: |