Mostrar la hora con caracteres ASCII
Python
Publicado el 5 de Julio del 2017 por Xve (294 códigos)
3.779 visualizaciones desde el 5 de Julio del 2017
Este código va mostrando la hora en la terminal con el carácter "#".
import time, sys
from twisted.internet import reactor
def ImprimirTiempo(up):
"""
Esta función muestra la hora actual, y es llamada cada segundo por reactor.callLater()
El valor up, puede ser 0 o 1. Si recibe un 1, subimos el apuntador de la
linea (sys.stdout) para sobreescribir la hora.
"""
# obtenemos la hora actual
h=time.strftime("%H:%M:%S")
cero = ("########",
"# ##",
"# # #",
"# # #",
"# ## #",
"# # #",
"# # #",
"## #",
"########")
uno = (" #",
" #",
" #",
" #",
" #",
" #",
" #",
" #",
" #")
dos = ("########",
" #",
" #",
" #",
"########",
"# ",
"# ",
"# ",
"########")
tres = ("########",
" #",
" #",
" #",
"########",
" #",
" #",
" #",
"########")
cuatro = ("# #",
"# #",
"# #",
"# #",
"########",
" #",
" #",
" #",
" #")
cinco = ("########",
"# ",
"# ",
"# ",
"########",
" #",
" #",
" #",
"########")
seis = ("########",
"# ",
"# ",
"# ",
"########",
"# #",
"# #",
"# #",
"########")
siete = ("########",
" #",
" #",
" #",
" #",
" #",
" #",
" #",
" #")
ocho = ("########",
"# #",
"# #",
"# #",
"########",
"# #",
"# #",
"# #",
"########")
nueve = ("########",
"# #",
"# #",
"# #",
"########",
" #",
" #",
" #",
"########")
puntos = (" ",
" ",
"#",
"#",
" ",
"#",
"#",
" ",
" ")
# definimos una lista con todos los 9 numeros
numeros = (cero,uno,dos,tres,cuatro,cinco,seis,siete,ocho,nueve)
linea=""
for i in range(9):
for j in h:
if j==":":
linea+=puntos[i]
elif j.isdigit():
linea+=numeros[int(j)][i]
linea+=" "
linea+="\n"
if up==1:
# nos posicionamos 9 lineas hacia arriba
sys.stdout.write('\x1b[9A')
sys.stdout.write("%s" % linea)
sys.stdout.flush()
reactor.callLater(1, ImprimirTiempo, 1)
print("")
reactor.callLater(1, ImprimirTiempo, 0)
reactor.run()
Comentarios sobre la versión: Versión 1.0 (0)
No hay comentarios