Ich schrieb einen Code, der den Fluss der binären Zahlen in der Matrix simuliert. Es funktioniert einwandfrei, und wenn ich diesen Code benutze, fragen die Leute, ob ich etwas hacke. Läuft unter MacOS 10.12.3.Wie man zufälliger Algorithmus effizienter macht
#!/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('')
Dieser Code ist jedoch sehr ineffizient und verbraucht viel Batterie. Gibt es diesen Code ohnehin leistungsfähiger? Außerdem möchte ich keine große Menge an I/O auf meiner Festplatte haben.
Generieren Sie eine volle Zeile voraus und drucken Sie dann diese vollständige Zeile. Sie wären auch überrascht, wie abhängig das von Ihrem Terminal ist. (z. B. ist das Terminal in Eclipse IDE wahrscheinlich 100 mal schneller als MS cmd). – sascha
@sascha Ich denke, das ist tatsächlich das, was ich gemacht habe (ich weiß nicht, wie effizient es funktioniert), denn wenn ich etwas drucke, wird es nicht gedruckt, ohne einen neuen Zeilenbuchstaben zu finden Zeile für Zeile gedruckt. Vielleicht hat es etwas mit Pythons 'stdout' Puffer zu tun, aber ich bin mir nicht sicher. – pkqxdd
Ich habe dieses Ende nicht gesehen = '' + python3, aber ich bin mir ziemlich sicher, dass der Aufbau einer großen Zeichenkette und der Aufruf des Ausdrucks einmal effizienter sein wird. – sascha