首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何移动所有数字以与列对齐?

如何移动所有数字以与列对齐?
EN

Stack Overflow用户
提问于 2014-10-08 07:26:29
回答 2查看 32关注 0票数 0
代码语言:javascript
复制
CANOEING = 3.5068
HIKING = 6
ROLLER_BLADING = 7.5068
TAE_KWON_DO = 10.3014
TAI_CHI = 3

body_mass = float(input("Enter your body mass: "))
canoeing = 0
hiking = 0
roller_blading = 0
tae_kwon_do = 0
tai_chi = 0 
print("                      Canoeing       Hiking         Rollerblading       Tae Kwon Do           Tai Chi              ")
print("15")
print("30")
print("45")
print("60")
print("75")
print("90")    
for x in range(15,95,15):
    canoeing = CANOEING+body_mass+(x/60) + canoeing
    hiking = HIKING+body_mass+(x/60) + hiking
    roller_blading = ROLLER_BLADING+body_mass+(x/60) + roller_blading
    tae_kwon_do = TAE_KWON_DO+body_mass+(x/60) + tae_kwon_do
    tai_chi = TAI_CHI+body_mass+(x/60) + tai_chi
    print("{0:>31.2f}".format(canoeing))
    print("{0:>36.2f}".format(hiking))
    print("{0:>51.2f}".format(roller_blading))
    print("{0:>61.2f}".format(tae_kwon_do))
    print("{0:>71.2f}".format(tai_chi))

我如何将所有的答案与列对齐,例如,徒步旅行和15分钟的时间。我做了我能做的,但所有的答案都乱七八糟。

EN

回答 2

Stack Overflow用户

发布于 2014-10-08 07:33:40

您只能从左到右、从上到下打印。因此,您不能先打印所有行标题,然后再打印所有数据;您必须打印每个行标题及其数据。

此外,您的每条print语句都打印一个换行符。您需要添加end=''来防止这种情况。

所以,这应该可以让你开始:

代码语言:javascript
复制
print("                      Canoeing       Hiking         Rollerblading       Tae Kwon Do           Tai Chi              ")
for x in range(15,95,15):
    print('{0:>2}'.format(x), end='')
    canoeing = …
    …
    print("{0:>31.2f}".format(canoeing), end='')
    …
    print()

这看起来还是不太对劲,因为你的格式宽度比你想放入的列要宽得多。(此外,由于您的标题有115个字符宽,因此在典型的80x25终端窗口…中看起来不会很好)但希望你能自己修复这一部分。

票数 0
EN

Stack Overflow用户

发布于 2014-10-08 08:00:29

您还可以将所有值提取到一个print/format中,如下所示:

代码语言:javascript
复制
print("                      Canoeing       Hiking         Rollerblading       Tae Kwon Do           Tai Chi")
for x in range(15, 95, 15):
    canoeing = ...
    ...
    print("{}{:>28.2f}{:>13.2f}{:>22.2f}{:>18.2f}{:>18.2f}"
          .format(x, canoeing, hiking, roller_blading, tae_kwon_do, tai_chi))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26246883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档