我寫了一段代碼來模擬矩陣中的二進制數字流。它工作得很好,每當我運行這個代碼的時候,人們會問我是否在攻擊某些東西。在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
@sascha我認爲這實際上就是我所做的(我不知道能效問題),因爲當我嘗試打印某些內容時,如果沒有找到「換行符」,它將不會被打印出來。所有的數字實際上都是逐行打印。也許它與python的'stdout'緩衝區有關,但我不確定。 – pkqxdd
我沒有看到結尾=''+ python3,但我很確定,構建一個大字符串和打印一次會更有效。 – sascha