如何格式化此Python程序的输出?

问题描述:

我想弄清楚如何让这些值集合从左到右排列(见下文)。 我怎么能这样做?如何格式化此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() 

眼下输出垂直

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

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

我希望它是这样的:

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

我知道,它没有在这里格式化,就像它应该有...我会尝试重新发布输出。 – user614496 2011-02-12 20:02:50

+0

@user就像提示一样,输出技巧就是将其格式化,就好像它是代码一样,然后逐字输出。 – 2011-02-12 20:17:36

我觉得要转你的输出,你可以通过反向做循环的顺序。作为一项特殊奖励,我对输出进行了格式化,以便它出现在漂亮整洁的柱子中!

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 

输出:

-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 

我猜测,在一定程度上,这是你想要的,因为你状态下在你的问题的程序的输出并不是什么程序实际上输出。我希望我的理解正确。

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()