0

私はtxtファイルから引き出した統計を比較するこの関数を持っているので、それらは静的です。各種族/亜種族のステータスと名前を並べる方法を考えていました。ソースは次のとおりです。

def compare():
    print('------ Compare Race Stats ------')
    comp1 = query()
    comp2 = query()
    comp1 = stats(comp1[0],comp1[1])
    comp2 = stats(comp2[0],comp2[1])
    print('{} - {} | {} - {}'
          .format(comp1[0][0],comp1[0][1],comp2[0][0],comp2[0][1]))
    for i in range(len(comp1[1])):
        print('{}{}{}{}'.format(' '*round(len(comp1[0][0])+len(comp1[0][1])/5),comp1[1][i],
                                ' '*round(len(comp2[0][0])+2+len(comp2[0][1])/5),comp2[1][i]))

query()必要なレース/サブレースを尋ね、それぞれの文字列を返します。stats()レース/サブレース名を取得し、txt ファイルからプルして、名前とともに統計を返します。2 番目の+2空白の計算は、最初の print ステートメント ( print('{} - {} | {} - {}') に対する私の説明です。これは推測でした。出力はそれほど悪くないように見え、スペース計算はちょっと賢いと思いました(私は初心者です)が、スタックオーバーフローが何を言わなければならないのか疑問に思わずにはいられませんでした。さまざまな出力を並べる特定の受け入れられた方法はありますか。

ここにいくつかの出力があります.10の異なるレース/サブレースがあります:

Elezen - Duskwight | Hyur - Midlander
        STR : 20        STR : 21
        DEX : 20        DEX : 19
        VIT : 19        VIT : 20
        INT : 23        INT : 21
        MND : 20        MND : 18
        PIE : 18        PIE : 21

Mi'Qote - Seekers of the Sun | Mi'Qote - Keepers of the Moon
           STR : 21             STR : 18
           DEX : 22             DEX : 21
           VIT : 20             VIT : 17
           INT : 18             INT : 19
           MND : 19             MND : 23
           PIE : 20             PIE : 22
4

1 に答える 1

0

ちょっとした調査の後、私はrjustandljust str関数を見つけました:

def compare():
    print("------ Compare Race Stats ------")
    comp1 = query()
    comp2 = query()
    comp1 = stats(comp1[0], comp1[1])
    comp2 = stats(comp2[0], comp2[1])
    print("{} - {} | {} - {}"
          .format(comp1[0][0], comp1[0][1], comp2[0][0], comp2[0][1]))
    for i in range(len(comp1[1])):
        print("{} {} {}".format(comp1[1][i].rjust(len(comp1[0][0]+comp1[0][1])+3),
                                "|", comp2[1][i]))

出力は次のとおりです。

Roegadyn - Hellsguard | Elezen - Duskwight
             STR : 20 | STR : 20
             DEX : 17 | DEX : 20
             VIT : 21 | VIT : 19
             INT : 20 | INT : 23
             MND : 22 | MND : 20
             PIE : 20 | PIE : 18

Mi'Qote - Keepers of the Moon | Roegadyn - Hellsguard
                     STR : 18 | STR : 20
                     DEX : 21 | DEX : 17
                     VIT : 17 | VIT : 21
                     INT : 19 | INT : 20
                     MND : 23 | MND : 22
                     PIE : 22 | PIE : 20

投稿する前に自分で答えるべきだった質問をしたことをお詫びします。少なくとも、明らかに答えを出すことができます。

于 2013-08-13T19:13:25.273 に答える