Differences between revisions 2 and 3
Revision 2 as of 2018-10-10 14:21:35
Size: 811
Comment:
Revision 3 as of 2018-10-10 15:28:21
Size: 3843
Comment:
Deletions are marked like this. Additions are marked like this.
Line 15: Line 15:
 * 解答は基本的に,下記 行です.
  * 問題の回答としては,これだけで十分です.
  * 自分自身のソフトウェア開発のためには,できるだけコメントをつける習慣をもってください.
 * 解答は基本的に,下記 7 行です.
Line 20: Line 18:
def judge_high_and_low( x, correct_number ):
    if x == correct_number:
        return( "正解です" )
    elif x > correct_number:
        return( "大きすぎます" )
    else:
        return( "小さすぎます" )
Line 23: Line 27:
 *  * でも,単純に,正解なら整数の0, 大きすぎるとき正の数,小さすぎるとき負の数を返すと考えれば,単純に引き算で表現できます.
Line 26: Line 30:
def judge_high_and_low( x, correct_number ):
    return( int( x - correct_number ))
}}}

{{{#!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
# ==============================================================================
# ===== 【関数定義】 正解か,正解よりも大きいか,小さいかを判断する関数 =============================
def judge_high_and_low( x, correct_number ):
    if x == correct_number:
        return( "正解です" )
    elif x > correct_number:
        return( "大きすぎます" )
    else:
        return( "小さすぎます" )
# ==============================================================================
# ===== 【メイン・プログラム】  ==========================================================
# ----- オープニングメッセージ ----------------------------------------------------------
print( "数当てゲーム: " )
print( "  秘密にされた100未満の正の整数(乱数で選ばれている)を当てます." )
print( "  回答として正しい数と思うを入力してください." )
print( "  正解なら,その旨を表示して終了します." )
print( "  不正解なら,入力された数が正解よりも大きいか,小さいかを表示して,再度,入力を促します." )
print( "  降参する場合は,\"X\"を入力してください." )
print()

# ----- 正解を選択します ------------------------------------------------------------
answer = random.randint( 1, 99 )

# デバッグ時以外はコメントアウト
print( "正解は:", answer )

# ----- 数当てゲームを始めます --------------------------------------------------------
while True:
    guess = input( "正解と思う100未満の正の整数を入力してください(降参ならX)>>> " )
    if guess == "X":
        print( "降参ですね.正解は", answer, "でした", sep="" )
        break
    judge = judge_high_and_low( int( guess ), answer )
    print( judge )
    if judge == "正解です":
        break
# ==============================================================================

拡張問題(5)

  • 演習(5)

    拡張課題(5a)

    【関数定義】

    数当てゲーム

    EP_02_005a_high_and_low.py

  • 解答は基本的に,下記 7 行です.

   1 def judge_high_and_low( x, correct_number ):
   2     if x == correct_number:
   3         return( "正解です" )
   4     elif x > correct_number:
   5         return( "大きすぎます" )
   6     else:
   7         return( "小さすぎます" )
  • でも,単純に,正解なら整数の0, 大きすぎるとき正の数,小さすぎるとき負の数を返すと考えれば,単純に引き算で表現できます.

   1 def judge_high_and_low( x, correct_number ):
   2     return( int( x - correct_number ))

   1 #!/usr/bin/env python
   2 # -*- coding: utf-8 -*-
   3 # ==============================================================================
   4 # * Copyright (c) 2018 IIJIMA, Tadashi
   5 # *       (IIJIMA Laboratory, Dept. of Science and Technology, Keio University).
   6 # ==============================================================================
   7 # ソフトウェア工学[02] 拡張課題[02]-(000a)  EP_02_000a_.py
   8 # EP(Extended Problem) 02-000a: 
   9 #        2018-10-03 飯島 正 (iijima@ae.keio.ac.jp)
  10 # ==============================================================================
  11 # ----- 乱数を取り扱うrandomモジュールをインポートする -----
  12 import random
  13 # ==============================================================================
  14 # ===== 【関数定義】 正解か,正解よりも大きいか,小さいかを判断する関数 =============================
  15 def judge_high_and_low( x, correct_number ):
  16     if x == correct_number:
  17         return( "正解です" )
  18     elif x > correct_number:
  19         return( "大きすぎます" )
  20     else:
  21         return( "小さすぎます" )
  22 # ==============================================================================
  23 # ===== 【メイン・プログラム】  ==========================================================
  24 # ----- オープニングメッセージ ----------------------------------------------------------
  25 print( "数当てゲーム: " )
  26 print( "  秘密にされた100未満の正の整数(乱数で選ばれている)を当てます." )
  27 print( "  回答として正しい数と思うを入力してください." )
  28 print( "  正解なら,その旨を表示して終了します." )
  29 print( "  不正解なら,入力された数が正解よりも大きいか,小さいかを表示して,再度,入力を促します." )
  30 print( "  降参する場合は,\"X\"を入力してください." )
  31 print()
  32 
  33 # ----- 正解を選択します ------------------------------------------------------------
  34 answer = random.randint( 1, 99 )
  35 
  36 # デバッグ時以外はコメントアウト
  37 print( "正解は:", answer )
  38 
  39 # ----- 数当てゲームを始めます --------------------------------------------------------
  40 while True:
  41     guess = input( "正解と思う100未満の正の整数を入力してください(降参ならX)>>> " )
  42     if guess == "X":
  43         print( "降参ですね.正解は", answer, "でした", sep="" )
  44         break
  45     judge = judge_high_and_low( int( guess ), answer )
  46     print( judge )
  47     if judge == "正解です":
  48         break
  49 # ==============================================================================


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