AOJ問題を解いた後に自分なりに気づいたこと。

最近、AIZU ONLINE JUDGEの問題を解き始めた、
もちろん自分の知識レベルから言ってvol100でもアップアップなのだが。

解き終わって他人解答を見るとあ〜ってなることが多いので自分用に復習メモを残しておこうと思う。(〜10013まで終了)

                                                    • -
for s in a:
    print s ,

みたいにprintの後に,を付けてforで連続で出力されると、普通なら改行されて出てくるが改行されない。

                                                    • -
print('Case {}: {}'.format(i,x))

{}{}.format(a,b)で左から順にa,bが入る。

                                                    • -
{:.5f}'.format(a) 

としてやればaを小数点以下第五位まで表示可能。

                                                    • -

eval関数は文字列を指定された名前空間上で実行してくれる関数
つまりどういう事かというと

>>> x = 1
>>> eval('x + 1')
2 #普通ならx+1という文字列が返ってくる。
>>> eval('x')
1
                                                    • -
.reverse()
reversed()

は違う、前者はリスト本体をいじるが後者はいじらない。

                                                    • -

forで回すときにiの値によって場合分けすると短くコードを書ける時がある。

for i in range(a):
    if i==0 or i==(h-1): print '#'*w
    else: print '#'+'.'*(w-2)+'#'
                                                    • -