python langer binary text?
hey,
Ich will ein Python Programm machen, in der sozusagen in einer for Schleife ein langer Binary Text generiert wird. (Er soll nichts bedeuten)
Es muss sozusagen ganz einfach in 0.01 Sekunden takt eine random nummer zwischen 0 und 1 generieren und printen.
Das problem ist, dass print() ein Print mit einer neuen Zeile macht. Deshalb habe ich die end="" Funktion von print genutzt. Leider wartet er aber, bis die Schleife fertig ist und gibt dann den ganzen binary code aufeinmal aus. Ich hoffe man versteht, was ich meine.
Code:
def start():
print('Willkommen!')
print('Wie heissen sie?')
name = input()
print('Hallo, ' + name)
time.sleep(3)
for x in range(4901):
randomBinaryInt = random.randint(0,1)
print(randomBinaryInt, end="")
time.sleep(0.01)
1 Antwort
Vom Fragesteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, programmieren, Informatik
Liegt daran, dass es gebuffert wird.
Kann man entweder beim Programmaufruf mit -u deaktivieren:
python -u deineDatei.py
Oder einfach beim print-Statement einen flush, also die sofortige Ausgabe der Daten im Buffer, erzwingen:
print(randomBinaryInt, end="", flush=True)
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf
Danke