これを行うためのより良い方法があることを願っています。コードに直接:
print "-I- %-6s%-6s%-6s%-6s%-6s%-6s%-6s%-6s%-8s" % \
("A",B","C","D","E","F","G","H","% Done")
print "-I- %-6s%-6s%-6s%-6s%-6s%-6s%-6s%-6s%-8s" % \
("-"*5 ,"-"*5 ,"-"*5 ,"-"*5 ,"-"*5 ,"-"*5 ,"-"*5,"-"*5,"-"*8)
理想的には、次のようなことをしたいと思います。
hdrs = ["A",B","C","D","E","F","G","H","% Done"]
<print statement that uses len(hdrs[i]+2) for the column width>
<print statement that uses len(hdrs[i]+2) for the column width and len(hdrs[i]+1 for the number of dashes>
出力は次のようになります。
A B C
----- ----- -----
この方法は、私の現在の方法よりもはるかに拡張可能です。結合とマップを使用してさまざまなことを試しましたが、実行可能な解決策を見つけることができませんでした。どんな助けでも大歓迎です。
編集:
私はちょうどこの部分を機能させました:
print " ".join("-"*(len(x)+1) for x in hdrs)
前のコード行は、元の投稿で要求した方法でダッシュを出力しますが、よりクリーンな方法があるかどうか疑問に思っています。文字列を印刷する方法がまだわかりません。