下のプログラムの
col_width[c] = max(col_width[c], len(row))
print(table_data[c][r].rjust(col_width[c]), end=' ') print()
について、質問です。
①maxの引数の書き方(forループでtable_data[c]というリスト内の要素にアクセスしているのはわかります。ただ、col_width[c], len(row) のように2つ引数を取った時の動きがよくわかりません。)
②print関数を二つ書いているのに1度しか表示されないのはなぜか
以下は全体のプログラムです。内容はリスト内の要素をrjustで並び変えるものです。質問個所に対応する番号をつけています。
よろしくお願いします。
table_data = [['apples', 'oranges', 'cherries', 'banana'], ['Alice', 'Bob', 'Carol', 'David'], ['dogs', 'cats', 'moose', 'goose']] def print_table(table_data): col_n = len(table_data) row_n = len(table_data[0]) col_width = [0] * col_n for c in range(col_n): for row in table_data[c]: col_width[c] = max(col_width[c], len(row))#----1 for r in range(row_n): for c in range(col_n): print(table_data[c][r].rjust(col_width[c]), end ='')#----2 print()#----2 print_table(table_data)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/17 08:27
2018/06/17 08:38 編集
2018/06/17 09:32