Size: 404
Comment:
|
← Revision 15 as of 2018-10-25 12:57:30 ⇥
Size: 424
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 11: | Line 11: |
[ <<Action(edit)>> ] |
例題(1)
[ edit ]
Contents
概要
*
ポイント
この課題で使うPythonの機能 (学習のヒント)
[ edit ]
- この例題のポイント ...
この例題における解法 (問題解決のヒント)
[ edit ]
- この例題における解法 (問題解決のヒント) ....
- いうまでもなく...
- 三角形の面積 = 底辺の長さ × 高さ / 2
- これを以下のような関数area_of_triangle()として定義してください
- 引数
- 底辺の長さ
- 高さ
- 返戻値
- 三角形の面積
- 引数
- いうまでもなく...
実行例
*
本質的な部分 (授業中に順次公開します)
[ edit ]
- 例題プログラムの核心的な部分は..
下記の 4 行 の関数定義です.
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行は入れないことが多いです
【別解】別解というほどではありませんが,1行で書けます
- そもそも,変数areaに代入せずに,直接,return文に与えてしまっても大丈夫です.
- なので,以下のようにも書けます
- が,改行や括弧を節約することに,個人的にはあまり意義を見出せません(あくまで私見ですが)
- なので,以下のようにも書けます
def area_of_triangle( bottom, height ): return ( bottom * height ) / 2
同様に,λ式という表現を使って1行で定義することも可能です ⇒ 高度な話題へのリンク
高度な話題 (授業中,もしくは授業後に順次公開します)
[ 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 # ==============================================================================