2011-02-12 5 views
2

J'essaie de comprendre comment aligner ces ensembles de valeurs de gauche à droite (voir ci-dessous). Comment est-ce que je pourrais faire ceci?Comment formater la sortie de ce programme Python?

def main(): 
    for temp in range(-20, 70, 10): 
     for windspeed in range(5, 55, 5): 
      print int(35.74 + (0.6215*(temp)) - (35.75* windspeed**0.16) + (0.4275*(temp)) * (windspeed**0.16)), 
     print 
main() 

En ce moment, la sortie est verticale

-34 
-40 
-45 
-48 
-50 
-53 
-54 
-56 
-58 
-59 

-22 
-28 
-32 
-35 
-37 
-39 
-41 
-42 
-44 
-45 

Je veux comme ceci:

-34 -22 
-40 -28 
-45 -32 
-48 -35 
-50 -37 
-53 -39 
-54 -41 
-56 -42 
-58 -44 
-59 -45 
+0

Je sais, il n'a pas formaté ici comme il aurait dû ... Je vais essayer de rediffuser la sortie. – user614496

+0

@user Juste un conseil, l'astuce avec la sortie est de le formater comme s'il s'agissait de code, puis il sort verbatim. –

Répondre

1

Je pense que vous voulez transposer votre sortie que vous pouvez faire en inversant l'ordre des boucles. Comme un bonus spécial, j'ai formaté la sortie de sorte qu'il apparaît dans de belles colonnes bien rangées!

for windspeed in range(5, 55, 5): 
    for temp in range(-20, 70, 10): 
     print "%3d" % int(35.74 + (0.6215*(temp)) - (35.75* windspeed**0.16) + (0.4275*(temp)) * (windspeed**0.16)), 
    print 

Sortie:

-34 -22 -10 1 12 24 36 48 59 
-40 -28 -15 -3 8 21 33 46 58 
-45 -32 -19 -6 6 19 31 44 57 
-48 -35 -21 -8 4 17 30 43 56 
-50 -37 -24 -10 2 16 29 42 56 
-53 -39 -25 -12 1 14 28 42 55 
-54 -41 -27 -13 0 13 27 41 55 
-56 -42 -28 -14 0 13 26 40 54 
-58 -44 -29 -15 -1 12 26 40 54 
-59 -45 -31 -16 -2 11 25 39 54 

Je suppose, dans une certaine mesure, que c'est ce que vous voulez parce que ce que vous déclarez être la sortie du programme dans votre question n'est pas ce que le programme fait les sorties. J'espère avoir bien compris.

+0

Oh wow, c'est tout !!! La programmation me rend vraiment bête. : D Merci pour la réponse en retour, je l'apprécie. o/ – user614496

+0

@user N'oubliez pas d'accepter la réponse! –

0
def main(): 
    output = "" 
    for temp in range(-20, 70, 10): 
     for windspeed in range(5, 55, 5): 
     output = output + str(int(35.74 + (0.6215*(temp)) - (35.75* windspeed**0.16) + (0.4275*(temp)) * (windspeed**0.16))) 
    print output 

main()