例題(1)

[ edit ]

*


概要

[ edit ]

*


ポイント

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

[ edit ]

この例題における解法 (問題解決のヒント)

[ edit ]

  • この例題における解法 (問題解決のヒント) ....
    • いうまでもなく...
      • 三角形の面積 = 底辺の長さ × 高さ / 2
    • これを以下のような関数area_of_triangle()として定義してください
      • 引数
        • 底辺の長さ
        • 高さ
      • 返戻値
        • 三角形の面積
*


実行例

[ edit ]

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

fig-01

*


本質的な部分 (授業中に順次公開します)

[ edit ]

  • 例題プログラムの核心的な部分は..

def area_of_triangle( bottom, height ):
    area = float()
    area = ( bottom * height ) / 2
    return( area )
  • return文
    • return文は,関数ではなく文なので,(...)は不要です

    • でも,私は大概の言語でreturn文には括弧をつける習慣を持っています(あくまで個人的習慣です)
  • area == float()はなくても大丈夫です.

    • 一応,変数宣言代わりに入れておきましたが,私もこのケースですと,この1行は入れないことが多いです
      • int型のデータとint型のデータの数値演算は,int型のデータを返します
      • 一方が,float型なら,結果もfloat型になります

【別解】別解というほどではありませんが,1行で書けます
  • そもそも,変数areaに代入せずに,直接,return文に与えてしまっても大丈夫です.
    • なので,以下のようにも書けます
      • が,改行や括弧を節約することに,個人的にはあまり意義を見出せません(あくまで私見ですが)

def area_of_triangle( bottom, height ): return ( bottom * height ) / 2
*


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

[ edit ]

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

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


配布コード (授業中に順次公開します)

[ edit ]

  • 例題ファイルとしては,コメントを付け加えた,下記を配布します.
    • コメントはもう少し増えるかもしれません.

   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]-(001a)  Ex_02_001a_triangle_area.py
   8 # Ex(Example) 02-001a: 【関数定義】 三角形の面積を返す関数を定義する. 
   9 #                               [底辺]と[高さ]から[三角形の面積]を返す関数. 
  10 #        2018-10-03 飯島 正 (iijima@ae.keio.ac.jp)
  11 # ==============================================================================
  12 # ===== 【関数定義】 三角形の面積を返す関数 ===================================
  13 #   ※ [底辺]と[高さ]をパラメータにとります
  14 def area_of_triangle( bottom, height ):
  15     area = float()
  16     area = ( bottom * height ) / 2
  17     return( area )
  18 # ==============================================================================
  19 # ===== 【メイン・プログラム】 =================================================
  20 # ----- オープニングメッセージ -----
  21 print( "三角形の面積を求めます: " )
  22 
  23 # ----- パラメータの入力 -----
  24 teihen = float( input( "  底辺の長さ[cm]を入力してください>>> " ) )
  25 takasa = float( input( "  高さの長さ[cm]を入力してください>>> " ) )
  26 
  27 # ----- 結果の表示 ----
  28 #    (print()関数のsepキーワードパラメータはカンマでの区切り文字列(デフォールトは半角空白1文字))
  29 print( "三角形の面積は", area_of_triangle( teihen, takasa ), "[cm^2]", sep="" )
  30 
  31 # コメントアウトを外して,比較してください.sepキーワードパラメータの意味が分かります.
  32 # print( "(2) 三角形の面積は", area_of_triangle( teihen, takasa ), "cm^2" )
  33 
  34 # コメントアウトを外して,比較してください.sepキーワードパラメータ, endキーワードパラメータの意味が分かります.
  35 # print( "(3) 三角形の面積", area_of_triangle( teihen, takasa ), sep="は", end="" )
  36 # print( "cm^2" )
  37 
  38 # コメントアウトを外して,比較してください.sepキーワードパラメータの意味が分かります.
  39 # print( "(4) 三角形の面積は" + str( area_of_triangle( teihen, takasa ) ) + "cm^2" )
  40 # ==============================================================================
*
*

SoftEng: Python/Prog/Example/02/Ex_001a (last edited 2018-10-25 12:57:30 by TadashiIijima)