On 17/04/2012 16:03, Marco Beri wrote:
2012/4/17 Karim Gorjux <lemieli...@gmail.com <mailto:lemieli...@gmail.com>>

    Salve, mi piacerebbe poter stampare su schermo delle stringhe di
    output, ma senza doverle sempre ripetere.
     Ad esempio, se volessi fare un conto alla rovescia, vorrei che i
    numeri fossero scritti sempre nello stesso posto e non così

    4
    3
    2
    1
    via!

    o così (con la virgola dopo il print)

    4 3 2 1 via!

    Sapete indicarmi anche solo dove posso trovare doc su internet? Io
    pensavo che fosse il sys.stdout.flush(), ma penso di essermi sbagliato


Prova questo:

    import sys
    import time
    for x in range(10):
        sys.stdout.write("%d\r" % x)
        sys.stdout.flush()
        time.sleep(0.5)



A me se provo per il conto alla rovescia

sys.stdout.write("%d\r" % (10-x))

rimane lo zero del numero 10...
invece di 9 mi dice 90
invece di 8 , 80 etc.

Visto che mi ha incuriosito, c'e' un modo per far sparire proprio tutte le cifre/caratteri?
A me viene tipo

import sys
import time
for x in range(10):
    message="%d\r" % (10-x)
    sys.stdout.write(message)
    sys.stdout.flush()
    time.sleep(0.5)
    sys.stdout.write(' ' * len(message) + '\r')
    sys.stdout.flush()

Pero' non mi pare tanto bello :)
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a