On 17/04/12 22:20, Diego Barrera wrote:
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 :)
Anche così forse (però mette il padding a sinistra dei numeri minori di
10)...
import sys
import time
for x in range(10, 0, -1):
sys.stdout.write("%2d\r" % x)
sys.stdout.flush()
time.sleep(0.5)
print("VIA!")
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python