2016-10-28 4 views
0

私は様々な身体活動のためのカロリー支出を表示するためにこのプログラムを行っていますが、テーブルの出力が不均一で、.formatを使用してフォーマットする必要があります。私はそれを移動するために異なる値を試み続けているが、何も実際に働いていない。あなたは、同じ長さの最初の列名に印刷する必要があり.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

。名前が短い場合は末尾にスペースを追加するか、スペースを追加するには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("") 

EDIT:フレーム

# 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| 
--------------+---------+---------+---------+---------+---------+---------+ 

あなたが|-+を描画するために使用することができます:あなたはHEAを印刷するformat()を使用することができますあまりにも。


テーブルを描画するモジュールがあります。 PrettyTable

+0

ああ、私は非常に長い名前のために私を台無しにローラーbladingされている必要があります参照してください。私はあなたを愛しています、あなたの助けをありがとう:D – IncognitoBatman

関連する問題