Ayuda imprimir en diferentes partes de la consola python

Iniciado por silfer_1908, 11 Marzo 2021, 21:27 PM

0 Miembros y 1 Visitante están viendo este tema.

silfer_1908

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 (python) [Seleccionar]

import os
global Id
global aux
global listap
global ids
global proceso
ids=list()

listap=list()


class procesos:
    nombre=""
    idp=0
    signo=""
    ope1=0
    ope2=0
    tiempom=0

def cantidadp ():
    p=0
    a=0
    b=False
    p=int(input("cuantos procesos vas a registrar--> "))
    while a<p:
        os.system("cls")
        proceso=procesos()
        proceso.nombre=nombrep()
        proceso.idp=idp()
        proceso.signo=signov()
        proceso.ope1=int(input("Ingrese primer operando--> "))
        if(proceso.signo=="/"):
            while b!=True:
                print("Para division y residuo el segundo opeando debe ser mayor a 0")
                op2=int(input("ingrese segundo operando--> "))
                if(op2>0):
                    proceso.ope2=op2
                    b=True
                else:
                    print("ingrese otro operando")
        else:
            proceso.ope2=int(input("Ingrese segundo operando--> "))
        b=False
        while b!=True:
            tiempo=int(input("Ingrese el tiempo maximo--> "))
            if(tiempo>0):
                print("tiempo valido")
                proceso.tiempom=tiempo
                b=True
            else:
                print("tiempo invalido ingrese un tiempo mayor a 0")
        listap.append(proceso)

        a+=1


def signov():
    print("operacion a hacer? teclee el signo \n suma + \n resta - \n division / \n residuo % \n multiplicacion * " )
    b=False
    while b!=True:
        s=input("Ingrese la operacion--> ")
        if(s=="+"):
            print("signo valido")
            return s
            b=True
        elif(s=="-"):
            print("signo valido")
            return s
            b=True
        elif(s=="/"):
            print("signo valido")
            return s
            b=True
        elif(s=="%"):
            print("signo valido")
            return s
            b=True
        elif(s=="*"):
            print("signo valido")
            return s
            b=True
        else:
            print("signo invalido,vuelva a escribirlo")



def nombrep():
    b=False
    while b!=True:
        nombre=input("ingrese el nombre --> \t")
        if nombre.isalpha():
            print("Nombre Correcto")
            return nombre
            b=True
        else:
            print("nombre incorrecto, intenta de nuevo")


def idp():
    b=False
    while b!=True:
        try:
            global Id
            global aux
            Id=int(input("ingresa el id del proceso--> "))
            if Id in ids:
                print("id repetido") 
            else:
                print("id valido")
                aux=Id
                ids.append(Id)
                return Id
                b=True
        except:
            print("id invalido")


def mostrar():
        for proceso in listap:
            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)

#print(cantidadp())

def procesar():
    os.system("cls")
    cadena="lotes a procesar"
    print(cadena.center(20,"="))
    a=1
    b=0
    for proceso in listap:
            if(a==1):
                b+=1;
                print("=====Lotes #",b,"=====")
                a=0;
            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)
            a+=1
    os.system("pause")
    print("Pulsa una tecla para comenzar a procesar")



def menu():
    opc=0
    while opc !=3:
        print("---menu---")
        print("1.registro de procesos ")
        print("2.procesar ")
        print("4.mostrar lista ")
        print("3.salir ")
        opc=int(input(" elija una opcion?" ))

        if opc==1:
            cantidadp()
            os.system("cls")
        elif opc==2:
            procesar()
        elif opc==4:
            os.system("cls")
            mostrar()




menu()

os.system("pause")     





de antemano gracias por su ayuda

tincopasan

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 (python) [Seleccionar]

ejecutar=["uno","dos","tres"]
ejecutando=["cuatro","cinco","seis"]
terminados= ["siete","ocho","nueve"]

for x in range(3):
    print(f"{ejecutar[x]:^5}{ejecutando[x]:^35} {terminados[x]:^25}")