Python - Imprimir valores alineados por columnas

   
Vista:

Imprimir valores alineados por columnas

Publicado por Carlos (1 intervención) el 09/06/2016 17:53:01
Estimados,
quisiera saber como hago para en el momento en que me imprima los datos salgan todos ordenados, me refiero tenen el mismo ancho y todo eso.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
print"--------------------------"
Nombre=[str() for ind0 in range (2)]
Apellido=[str() for ind0 in range (2)]
Edad=[int() for ind0 in range (2)]
Pro=0
N=0
Mayores=0
 
for indice in range (2):
    Nombre[indice]=raw_input("Ingrese nombre.. ")
    Apellido[indice]=raw_input("Ingrese Apellido.. ")
    Edad[indice]=input("Ingrese un Edad ")
 
for indice in range (2):
    Pro=Pro+Edad[indice]
    A=(Pro/2)
    if Edad[indice]>=18:
        Mayores=Mayores+1
print"---------------------------"
print "Numero",
print "Nombre",
print "Apellido",
print "Edad"
for indice in range (2):
    print str(indice+1),
##    print N,
    print Nombre[indice],
    print Apellido[indice],
    print Edad[indice]
print"----------------------------"
print "Mayores de edad",Mayores
print "El Promedio de edad es",A
print"-----------------------------"
raw_input()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Xavi

Imprimir valores alineados por columnas

Publicado por Xavi (10 intervenciones) el 09/06/2016 18:22:28
Hola Carlos, aquí tienes una manera un poco arcaica... pero que funciona...

1
2
3
4
5
6
7
8
9
10
11
a=[]
a.append(["francisco jose", "martinez"])
a.append(["jose", "lopez"])
 
for i in a:
	x=int((30-len(i[0]))/8)
 
	print i[0],
	for y in range(x):
		print "\t",
	print i[1]

Devuelve algo como:
1
2
francisco jose          martinez
jose                    lopez

Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar