Size: 631
Comment:
|
← Revision 3 as of 2018-10-29 05:03:02 ⇥
Size: 1604
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 22: | Line 22: |
===== リストの添え字アクセス ===== * 【高度な話題】 じゃんけんの手 * 「リストの添え字アクセス」で「じゃんけん」の手を,コードから文字列へ変換します. * 非常に簡潔に書けるが,エラー処理は決して十分ではありません. * 0~2以外の引数を与えると,添え字エラー(IndexError)例外を送出します. * IndexError: list index out of range {{{#!highlight python numbers=off # 「じゃんけんの手」の文字列を,対応する整数0,1,2から返す関数 janken_hand_str = lambda hand: ["グー","チョキ","パー"][hand] janken_hand_str(1) }}} * まとめると... {{{#!highlight python numbers=off import random # 「じゃんけんの手」の文字列を,乱数で決める関数 janken_random_hand_str = \ lambda: ["グー","チョキ","パー"][random.randint( 0, 2 )] janken_random_hand_str() }}} |
λ式
- 【高度な話題】
- λ式を使うと下記のように,簡潔に書けますが,必ずしも,読みやすいとは言えません.
import random
# 乱数で「じゃんけんの手」を求める関数 (0,1,2の整数で返す)
janken_random_hand = lambda: random.randint( 0, 2 )
janken_random_hand()
リストの添え字アクセス
- 【高度な話題】 じゃんけんの手
- 「リストの添え字アクセス」で「じゃんけん」の手を,コードから文字列へ変換します.
- 非常に簡潔に書けるが,エラー処理は決して十分ではありません.
0~2以外の引数を与えると,添え字エラー(IndexError)例外を送出します.
IndexError: list index out of range
# 「じゃんけんの手」の文字列を,対応する整数0,1,2から返す関数
janken_hand_str = lambda hand: ["グー","チョキ","パー"][hand]
janken_hand_str(1)
- まとめると...
import random
# 「じゃんけんの手」の文字列を,乱数で決める関数
janken_random_hand_str = \
lambda: ["グー","チョキ","パー"][random.randint( 0, 2 )]
janken_random_hand_str()