【发布时间】:2017-09-12 15:41:18
【问题描述】:
我写了一段代码来模拟矩阵中的二进制数流动。它工作得很好,每当我运行这段代码时,人们都会问我是否在破解某些东西。在 MacOS 10.12.3 上运行。
#!/usr/local/bin/python3.6
import random
import time
while True:
for j in range(204): #my full screen terminal is 204 characters wide
print(random.randint(0,1),end='')
time.sleep(0.0001)
print('')
但是,此代码效率非常低,并且会消耗大量电池。那么有没有办法让这段代码更节能呢?另外,我不希望我的硬盘驱动器有大量的 I/O。
【问题讨论】:
-
在前面生成一个完整的行,然后打印这个完整的行。您还会对这对您的终端的依赖程度感到惊讶。 (例如,Eclipse IDE 中的终端可能比 MS cmd 快 100 倍)。
-
@sascha 我认为这实际上是我所做的(我不知道电源效率),因为当我尝试打印某些东西时,如果没有找到
new line character.All 就不会打印它这些数字实际上是逐行打印的。可能和python的stdout缓冲区有关,但我不确定。 -
我没有看到 end='' + python3,但我很确定,构建一个大字符串并调用一次 print 会更有效。
标签: python algorithm python-3.x random