elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Ayuda imprimir en diferentes partes de la consola python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda imprimir en diferentes partes de la consola python  (Leído 2,786 veces)
silfer_1908

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Ayuda imprimir en diferentes partes de la consola python
« en: 11 Marzo 2021, 21:27 pm »

Ayuda necesito imprimir en consola en diferentes partes de la consola.En la parte izquierda se tiene que mostrar los procesos a ejecutar, en la parte de enmedio tienen que aparecer los procesos en ejecucion y en la parte derecha tiene que aparecer los procesos terminados.
Código
  1. import os
  2. global Id
  3. global aux
  4. global listap
  5. global ids
  6. global proceso
  7. ids=list()
  8.  
  9. listap=list()
  10.  
  11.  
  12. class procesos:
  13.    nombre=""
  14.    idp=0
  15.    signo=""
  16.    ope1=0
  17.    ope2=0
  18.    tiempom=0
  19.  
  20. def cantidadp ():
  21.    p=0
  22.    a=0
  23.    b=False
  24.    p=int(input("cuantos procesos vas a registrar--> "))
  25.    while a<p:
  26.        os.system("cls")
  27.        proceso=procesos()
  28.        proceso.nombre=nombrep()
  29.        proceso.idp=idp()
  30.        proceso.signo=signov()
  31.        proceso.ope1=int(input("Ingrese primer operando--> "))
  32.        if(proceso.signo=="/"):
  33.            while b!=True:
  34.                print("Para division y residuo el segundo opeando debe ser mayor a 0")
  35.                op2=int(input("ingrese segundo operando--> "))
  36.                if(op2>0):
  37.                    proceso.ope2=op2
  38.                    b=True
  39.                else:
  40.                    print("ingrese otro operando")
  41.        else:
  42.            proceso.ope2=int(input("Ingrese segundo operando--> "))
  43.        b=False
  44.        while b!=True:
  45.            tiempo=int(input("Ingrese el tiempo maximo--> "))
  46.            if(tiempo>0):
  47.                print("tiempo valido")
  48.                proceso.tiempom=tiempo
  49.                b=True
  50.            else:
  51.                print("tiempo invalido ingrese un tiempo mayor a 0")
  52.        listap.append(proceso)
  53.  
  54.        a+=1
  55.  
  56.  
  57. def signov():
  58.    print("operacion a hacer? teclee el signo \n suma + \n resta - \n division / \n residuo % \n multiplicacion * " )
  59.    b=False
  60.    while b!=True:
  61.        s=input("Ingrese la operacion--> ")
  62.        if(s=="+"):
  63.            print("signo valido")
  64.            return s
  65.            b=True
  66.        elif(s=="-"):
  67.            print("signo valido")
  68.            return s
  69.            b=True
  70.        elif(s=="/"):
  71.            print("signo valido")
  72.            return s
  73.            b=True
  74.        elif(s=="%"):
  75.            print("signo valido")
  76.            return s
  77.            b=True
  78.        elif(s=="*"):
  79.            print("signo valido")
  80.            return s
  81.            b=True
  82.        else:
  83.            print("signo invalido,vuelva a escribirlo")
  84.  
  85.  
  86.  
  87. def nombrep():
  88.    b=False
  89.    while b!=True:
  90.        nombre=input("ingrese el nombre --> \t")
  91.        if nombre.isalpha():
  92.            print("Nombre Correcto")
  93.            return nombre
  94.            b=True
  95.        else:
  96.            print("nombre incorrecto, intenta de nuevo")
  97.  
  98.  
  99. def idp():
  100.    b=False
  101.    while b!=True:
  102.        try:
  103.            global Id
  104.            global aux
  105.            Id=int(input("ingresa el id del proceso--> "))
  106.            if Id in ids:
  107.                print("id repetido")  
  108.            else:
  109.                print("id valido")
  110.                aux=Id
  111.                ids.append(Id)
  112.                return Id
  113.                b=True
  114.        except:
  115.            print("id invalido")
  116.  
  117.  
  118. def mostrar():
  119.        for proceso in listap:
  120.            print(" nombre: ",proceso.nombre,"\n","id: ",proceso.idp,"\n","operacion: ",proceso.signo,"\n","operador 1: ",proceso.ope1,"\n", "operando 2: ",proceso.ope2,"\n","tiempo de proceso: ",proceso.tiempom)
  121.  
  122. #print(cantidadp())
  123.  
  124. def procesar():
  125.    os.system("cls")
  126.    cadena="lotes a procesar"
  127.    print(cadena.center(20,"="))
  128.    a=1
  129.    b=0
  130.    for proceso in listap:
  131.            if(a==1):
  132.                b+=1;
  133.                print("=====Lotes #",b,"=====")
  134.                a=0;
  135.            print(" nombre: ",proceso.nombre,"\n","id: ",proceso.idp,"\n","operacion: ",proceso.signo,"\n","operador 1: ",proceso.ope1,"\n", "operando 2: ",proceso.ope2,"\n","tiempo de proceso: ",proceso.tiempom)
  136.            a+=1
  137.    os.system("pause")
  138.    print("Pulsa una tecla para comenzar a procesar")
  139.  
  140.  
  141.  
  142. def menu():
  143.    opc=0
  144.    while opc !=3:
  145.        print("---menu---")
  146.        print("1.registro de procesos ")
  147.        print("2.procesar ")
  148.        print("4.mostrar lista ")
  149.        print("3.salir ")
  150.        opc=int(input(" elija una opcion?" ))
  151.  
  152.        if opc==1:
  153.            cantidadp()
  154.            os.system("cls")
  155.        elif opc==2:
  156.            procesar()
  157.        elif opc==4:
  158.            os.system("cls")
  159.            mostrar()
  160.  
  161.  
  162.  
  163.  
  164. menu()
  165.  
  166. os.system("pause")      
  167.  
  168.  
  169.  


de antemano gracias por su ayuda
 


En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Ayuda imprimir en diferentes partes de la consola python
« Respuesta #1 en: 12 Marzo 2021, 04:19 am »

la verdad es que ese código no hay por donde leerlo, mejor pone de que forma se supone van a estar los datos que se deben mostrar.
igual te muestro una forma de mostrar separado en columnas por así decirlo:

Código
  1. ejecutar=["uno","dos","tres"]
  2. ejecutando=["cuatro","cinco","seis"]
  3. terminados= ["siete","ocho","nueve"]
  4.  
  5. for x in range(3):
  6.    print(f"{ejecutar[x]:^5}{ejecutando[x]:^35} {terminados[x]:^25}")
  7.  
  8.  
  9.  
  10.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines