我在下面完成了这个程序来显示各种身体活动的卡路里消耗,但是表的输出是不均匀的,我必须使用.format格式化它。我一直在尝试使用不同的值来移动它,但是没有任何东西可以正常工作。
# Constants
CANOEING = 256
HIKING = 438
ROLLER_BLADING = 548
TAE_KWON_DO = 752
TAI_CHI = 219
HOUR = 60
# Table Top
print("Calories for Various Activities for a 73 kg person")
print("")
print("Activity 15 min 30 min 45 min 60 min 75 min 90 min")
# Table Results
for activity in range(1, 5 + 1):
if activity == 1:
print("Canoeing", end="")
elif activity == 2:
print("Hiking", end="")
elif activity == 3:
print("Roller Blading", end="")
elif activity == 4:
print("Tae kwon do", end="")
elif activity == 5:
print("Tai chi", end="")
for time in range(15, 90 + 1, 15):
canoe_time = time * CANOEING / HOUR
hike_time = time * HIKING / HOUR
roller_time = time * ROLLER_BLADING / HOUR
tkd_time = time * TAE_KWON_DO / HOUR
tc_time = time * TAI_CHI / HOUR
if activity == 1:
print("{:>10}{:>5.1f}".format(" ", canoe_time), end="")
elif activity == 2:
print("{:>12}{:>5.1f}".format(" ", hike_time), end="")
elif activity == 3:
print("{:>4}{:>5.1f}".format(" ", roller_time), end="")
elif activity == 4:
print("{:>7}{:>5.1f}".format(" ", tkd_time), end="")
elif activity == 5:
print("{:>11}{:>5.1f}".format(" ", tc_time), end="")
print("")
答案 0 :(得分:0)
您必须以相同的长度打印第一列名称。如果name较短,则在末尾添加空格或使用format()
添加空格。
在其他列中,您必须始终使用相同的长度。
# Constants
CANOEING = 256
HIKING = 438
ROLLER_BLADING = 548
TAE_KWON_DO = 752
TAI_CHI = 219
HOUR = 60
# Table Top
print("Calories for Various Activities for a 73 kg person")
print("")
print("Activity 15 min 30 min 45 min 60 min 75 min 90 min")
# Table Results
for activity in range(1, 5 + 1):
if activity == 1:
title = "Canoeing"
elif activity == 2:
title = "Hiking"
elif activity == 3:
title = "Roller Blading"
elif activity == 4:
title = "Tae kwon do"
elif activity == 5:
title = "Tai chi"
print("{:<14}".format(title), end="")
for time in range(15, 90 + 1, 15):
if activity == 1:
value = time * CANOEING / HOUR
elif activity == 2:
value = time * HIKING / HOUR
elif activity == 3:
value = time * ROLLER_BLADING / HOUR
elif activity == 4:
value = time * TAE_KWON_DO / HOUR
elif activity == 5:
value = time * TAI_CHI / HOUR
print("{:>10.1f}".format(value), end="")
print("")
编辑:您可以使用|
,-
,+
来绘制框架
# Constants
CANOEING = 256
HIKING = 438
ROLLER_BLADING = 548
TAE_KWON_DO = 752
TAI_CHI = 219
HOUR = 60
# Table Top
print("Calories for Various Activities for a 73 kg person")
print("")
print("Activity | 15 min| 30 min| 45 min| 60 min| 75 min| 90 min|")
print("--------------+---------+---------+---------+---------+---------+---------+")
# Table Results
for activity in range(1, 5 + 1):
if activity == 1:
title = "Canoeing"
elif activity == 2:
title = "Hiking"
elif activity == 3:
title = "Roller Blading"
elif activity == 4:
title = "Tae kwon do"
elif activity == 5:
title = "Tai chi"
print("{:<14}|".format(title), end="")
for time in range(15, 90 + 1, 15):
if activity == 1:
value = time * CANOEING / HOUR
elif activity == 2:
value = time * HIKING / HOUR
elif activity == 3:
value = time * ROLLER_BLADING / HOUR
elif activity == 4:
value = time * TAE_KWON_DO / HOUR
elif activity == 5:
value = time * TAI_CHI / HOUR
print("{:>9.1f}|".format(value), end="")
print("")
print("--------------+---------+---------+---------+---------+---------+---------+")
结果
Calories for Various Activities for a 73 kg person
Activity | 15 min| 30 min| 45 min| 60 min| 75 min| 90 min|
--------------+---------+---------+---------+---------+---------+---------+
Canoeing | 64.0| 128.0| 192.0| 256.0| 320.0| 384.0|
Hiking | 109.5| 219.0| 328.5| 438.0| 547.5| 657.0|
Roller Blading| 137.0| 274.0| 411.0| 548.0| 685.0| 822.0|
Tae kwon do | 188.0| 376.0| 564.0| 752.0| 940.0| 1128.0|
Tai chi | 54.8| 109.5| 164.2| 219.0| 273.8| 328.5|
--------------+---------+---------+---------+---------+---------+---------+
BTW:您也可以使用format()
打印标题。
有绘制表格的模块,即。 PrettyTable