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分钟的时间。我做了我能做的,但所有的答案都乱七八糟。
发布于 2014-10-08 07:33:40
您只能从左到右、从上到下打印。因此,您不能先打印所有行标题,然后再打印所有数据;您必须打印每个行标题及其数据。
此外,您的每条print语句都打印一个换行符。您需要添加end=''来防止这种情况。
所以,这应该可以让你开始:
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终端窗口…中看起来不会很好)但希望你能自己修复这一部分。
发布于 2014-10-08 08:00:29
您还可以将所有值提取到一个print/format中,如下所示:
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))https://stackoverflow.com/questions/26246883
复制相似问题