Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2018-10-28 15:29:16
Size: 285
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 8: Line 8:
===== =====
===== λ式 =====
Line 11: Line 12:
  *   * λ式を使うと下記のように,簡潔に書けますが,必ずしも,読みやすいとは言えません.

{{{#!highlight python numbers=off
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

{{{#!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()

SoftEng: Python/Prog/Practice/Extended/02/EP_002a/AdvancedTopics (last edited 2018-10-29 05:03:02 by TadashiIijima)