Differences between revisions 7 and 8
Revision 7 as of 2018-10-14 22:30:43
Size: 2807
Comment:
Revision 8 as of 2018-10-14 22:32:46
Size: 404
Comment:
Deletions are marked like this. Additions are marked like this.
Line 17: Line 17:




 * 解答は基本的に,下記 3 行です.
  * 0,1,2の整数でグー", "チョキ", "パー"を表します.

{{{#!highlight python
import random

def janken_random_hand():
    return( random.randint( 0, 2 ) )
}}}

 *

{{{#!highlight python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ==============================================================================
# * Copyright (c) 2018 IIJIMA, Tadashi
# * (IIJIMA Laboratory, Dept. of Science and Technology, Keio University).
# ==============================================================================
# ソフトウェア工学[02] 拡張課題[02]-(000a) EP_02_000a_.py
# EP(Extended Problem) 02-000a:
# 2018-10-03 飯島 正 (iijima@ae.keio.ac.jp)
# ==============================================================================
# ----- 乱数を取り扱うrandomモジュールをインポートする -----
import random
# ==============================================================================
# ===== 【関数定義】 乱数で「じゃんけんの手」を求める関数 (0,1,2の整数で返す) =====
def janken_random_hand():
    return( random.randint( 0, 2 ) )
# ==============================================================================
# ===== 【関数定義】 乱数で「じゃんけんの手」を求める関数 (文字列で返す) =====
def janken_random_hand_str():
    return( janken_hand_str( random.randint( 0, 2 ) ) )
# ==============================================================================
# ===== 【関数定義】 「じゃんけんの手」の文字列を,対応する0,1,2の整数から求める関数 =====
def janken_hand_str( hand ):
    if hand == 0:
        return( "グー" )
    elif hand == 1:
        return( "チョキ" )
    else:
        return( "パー" )
# ==============================================================================
# ===== 【メイン・プログラム】  =====
# ----- オープニングメッセージ -----
print( "「じゃんけんの手」を乱数で10個生成し,表示する: " )
print( "   呼び出すごとに異なる乱数を生成する" )
  
# ----- 計算と結果の表示 ----
for i in range( 10 ):
    print( janken_random_hand_str() )
# ==============================================================================
}}}

拡張問題(2)

*


概要

[ edit ]

*


ヒント

この課題で使うPythonの機能 (学習のヒント)

[ edit ]

この課題の解き方 (問題解決のヒント)

[ edit ]

  • この課題の解き方 (問題解決のヒント) ....
    • 0,1,2の整数でグー", "チョキ", "パー"を表します.
    • 乱数でいずれの手を出すかを決めます.

    • 乱数を使うには...
      • randomモジュールをインポートします

        • import random
      • 0~2(2を含む)の整数の疑似乱数列を得るには,random.randint(0,2)でよさそうですね.
        • まずは,0~2の乱数を表示させてみましょう
        • 次に,それぞれに対応する文字列を出させてみましょう.
          • リストの添え字アクセスで簡潔に書くことができます

            • この授業では,まだリストを取り上げていませんが,春学期の前提科目でやっているので,使ってみていただいてもかまいません.

            • 授業資料(wiki)には,あえて入れていませんが,授業中には紹介するかもしれません
              • というか,その可能性は,むしろ高いといえます
*


実行例

[ edit ]

  • 実行例(1) ... クリックすると拡大します

fig-01

*


プログラム例: 本質的な部分 (授業中に順次公開します)

[ edit ]

  • 解答例の核心部分は,下記 3 行の関数です.
    • 0,1,2の整数でグー", "チョキ", "パー"を表します.
    • 乱数でいずれの手を出すかを決めます.

   1 import random
   2 
   3 def janken_random_hand():
   4     return( random.randint( 0, 2 ) )
*


高度な話題 (授業中,もしくは授業後に順次公開します)

[ edit ]

  • 高度な話題へのリンク: 授業の流れを阻害しないように別ページにします

    • (後日の回の授業内容にはなる可能性がありますが,この回の授業内容には含めません).
    • に関するものです.


プログラム例: 配布コード (授業中に順次公開します)

*

*

SoftEng: Python/Prog/Practice/Extended/02/EP_002a (last edited 2018-10-28 15:20:43 by TadashiIijima)