ratingBar barra de progreso
Ideas
Soy demasiado vago para escribir un diagrama de flujo, así que no continuaré 1. Crear una nueva barra de calificación de clase
2. Longitud de los datos de entrada del usuario (longitud total), comenzando (caracteres antes de la barra de progreso), finalizando (caracteres después del progreso barra)
3. Defina dos funciones flush (entrada: longitud (<longitud del valor dado por la clase (ver el artículo 2 para más detalles)), función: ajustar la barra de progreso a la longitud), cuenta (entrada: ninguna, función: la barra de progreso se mueve uno un paso adelante)
Código
Importar biblioteca del sistema
import sys
Crear función "n_" para la clase ratingBar
def complete_string(n,string):
while(len(string) < n):
string += ' '
return string
Crear clase ratingBar
class ratingBar:
def __init__(self,length,starting = '',ending = ''):
self.length = length
self.one = 100 / length
self.n = len(str(self.length))
self.starting = starting
self.ending = ending
sys.stdout.write('%s%s%s/%s|%s|0%% %s'%(self.starting,'|' * int(bool(self.starting)),n_digit(self.n,'0'),length,' ' * length,self.ending))
sys.stdout.flush()
self.len = 0
def flush(self,length):
if(length <= self.length):
str1 = '#' * length + ' ' * (self.length - length)
sys.stdout.flush()
sys.stdout.write('\r%s%s%s/%s|%s|%s%% %s'%(self.starting,'|' * int(bool(self.starting)),n_digit(self.n,str(length)),self.length,str1,self.one * length,self.ending))
if(length == self.length):
sys.stdout.write('\n')
sys.stdout.flush()
self.len = length
else:
raise ValueError('index out of range')
def count(self):
self.len += 1
self.flush(self.len)
Explica "\ r"
En el programa, aparece el carácter de escape \ r, lo que significa volver al
principio de la línea. Puede ver que la salida de abcdefg \ rabcdefg es
abcdefg
Si es \ n, la salida es
abcdefg
abcdefg
Si no hay un carácter de escape, la salida es
abcdefgabcdefg
Tenga en cuenta que \ r es el carácter después de \ r reemplazado por el anterior, pero debe tenerse en cuenta que la salida de abcdefg \ rbcdefg es:
bcdefgg
Imagen: Como
puede ver, bcdefg no cubre completamente abcdefg, porque bcdefg es más corto que abcdefg, por lo que ocurrirán las siguientes situaciones:
Aviso de copyright
Los derechos de autor pertenecen al autor de la referencia de este artículo y a él mismo, declare la fuente (si es demasiado perezoso para escribirlo, no lo ve, no lo persiga, solo conózcalo usted mismo)
Autor
golpear la carretera
¡Adiós, salir de clase se acabó!
El hit-road se actualiza de vez en cuando, ¡mira o vete!