Problem mit time.sleep()
Verfasst: Montag 16. Juni 2008, 11:10
Hallo zusammen,
ich habe ein kleines Problem mit time.sleep(). Zumindest ist das mein derzeit vermuteter Fehlerkandidat. Es geht um folgendes:
Ich habe eine sehr einfache Schleife, die jede Sekunde eine Zahl ausgeben soll (von 1 bis 10). Dabei soll die Ausgabe horizontal erfolgen, also in einer Zeile. Leider ist es nun aber so, dass Python die auszugebenden Zahlen quasi "sammelt" und nach 10 Sekunden alles auf einmal ausgibt. Ich verstehe nicht, warum das so ist. Hier mal der Code:
Kann mir bitte jemand erklären, warum sich Python hier so sonderbar verhält oder wo mein Denkfehler liegt?
Wenn ich "time.sleep(1)" vor die print-Anweisung schreibe ändert sich nichts am Verhalten und auch wenn ich die print-Anweisung in eine Funktion auslagere und diese in der Schleife aufrufe, scheint Python zu sammeln. Evtl. dachte ich mir, könnte es auch am Komma hinter print liegen, aber ich weiß keinen andere Möglichkeit, wie ich sonst in einer Zeile bleiben könnte.
Vielen Dank für eure Hilfe.
Gruß
darkelf
ich habe ein kleines Problem mit time.sleep(). Zumindest ist das mein derzeit vermuteter Fehlerkandidat. Es geht um folgendes:
Ich habe eine sehr einfache Schleife, die jede Sekunde eine Zahl ausgeben soll (von 1 bis 10). Dabei soll die Ausgabe horizontal erfolgen, also in einer Zeile. Leider ist es nun aber so, dass Python die auszugebenden Zahlen quasi "sammelt" und nach 10 Sekunden alles auf einmal ausgibt. Ich verstehe nicht, warum das so ist. Hier mal der Code:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
for i in xrange(1,11):
print i,
time.sleep(1)
print "\nFertig!"
Wenn ich "time.sleep(1)" vor die print-Anweisung schreibe ändert sich nichts am Verhalten und auch wenn ich die print-Anweisung in eine Funktion auslagere und diese in der Schleife aufrufe, scheint Python zu sammeln. Evtl. dachte ich mir, könnte es auch am Komma hinter print liegen, aber ich weiß keinen andere Möglichkeit, wie ich sonst in einer Zeile bleiben könnte.
Vielen Dank für eure Hilfe.
Gruß
darkelf