3つの制御構造の学習
処理の流れは「順次」「分岐」「反復」の3つの構造の組み合わせで構成されます。
下記記事を参考にしてください。
Python 処理の流れを学ぶためのプログラム例 はじめに - 勉強ボックス管理者ブログ
ソースコード例
配列
同じデータ型(整数値,文字列など)で複数の変数を扱いたい場合,配列という仕組みを利用すると便利です。
例えば野球ゲームのプログラムを作成していて,得点の変数を用意したとします。
score1a = 0 # 1回の表の得点 Aチーム
score1b = 0 # 1回の裏の得点 Bチーム
score2a = 0 # 2回の表の得点 Aチーム
・・・
score12b = 0 # 12回の裏の得点 Bチーム
このように変数の数が増えると管理がとても大変です。
配列を使うと以下のように変数名(配列名)1つで1回から12回までの得点を管理できるようになります。(※)
scoreA = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # 配列 Aチームの得点
scoreB = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # 配列 Bチームの得点
scoreA[0] = 3 # 1回の得点に3を代入
scoreA[1] = 1 # 2回の得点に2を代入
totalA = scoreA[0] + scoreA[1] # 1回と2回の得点の合計を変数に代入
※さらに二次元配列にして score[チーム番号][回の番号] で管理する方法も考えられます
配列に初期値をまとめて設定する例と,print()関数で配列をまとめて表示,配列の要素を1つずつ表示する例です。
print("==== 4-1 ====") week = ["月","火","水","木","金","土","日"] print(week) print("==== 4-2 ====") i = 0 while i < 7 : print( week[i] ) i = i + 1
実行結果
==== 4-1 ====
['月', '火', '水', '木', '金', '土', '日']
==== 4-2 ====
月
火
水
木
金
土
日
このインデックスは 0 から始まることが大事なポイントです。
最初の要素 配列名[0]
二番目の要素 配列名[1]
三番目の要素 配列名[2]
・・・
最後の要素 配列名[配列の要素数-1]
整数の配列の要素の値を加算して合計を求め,要素数で割って平均を求めるプログラムを作ってみましょう。(次の例でscoreの要素数は5とわかっていますが,len()関数を使って要素数(配列の長さ)を取得しています)
print("==== 4-3 ====") score = [10,6,7,3,9] num = len(score) total = 0 i = 0 while i < num : total = total + score[i] i = i + 1 avg = total / num print(avg)
実行結果
==== 4-3 ====
7.0
Pythonには要素の合計を求めるsum()関数があるため,以下のコードで平均を求めることもできます。
score = [10,6,7,3,9] num = len(score) total = sum(score) avg = total / num print(avg)
関数
連続した処理を1つのまとまりとして記述する仕組みがあり,関数と呼ばれています。関数を使うと複雑で長いプログラムを見やすく整理できます。また,同じ処理を何度も実行したいときも関数を作ると便利です。
(数学で学習する "yはxの関数である" の関数とは異なり,プログラムでは「機能」のことを関数と呼んでいると思ってください)
def 関数名(引数名1, 引数名2, ...) :
処理1
処理2
…
return 戻り値
・return文は関数の処理を終了する。
・return文で戻り値を指定して呼び出し元に値を返す。
※def文だけでは処理が行われません。実際に処理を実行するには,関数呼び出しの記述が必要です。
三角形の面積を計算する関数を定義して,呼び出してみましょう。
print("==== 4-4 ====") # 三角形の面積を計算する関数 def triangle_area(base,height): area = base * height / 2 return area # 関数呼び出し例1 a = triangle_area(10,7) print(a) # 関数呼び出し例2 b = 20 h = 7 print(triangle_area(b,h))
実行結果
==== 4-4 ====
35.0
70.0
<2023-01-10追記>
※関数を定義して呼び出すときは,コードの記述位置に注意しましょう。
Pythonのプログラムは1行1行読み込みながら実行される(インタプリタとよばれます)ので,関数定義の読み込み前に関数呼び出しが行われるとエラーになります。
コメント
#記号からその行の終わりまではコメントとなり,実行時には無視されます。コメントは主にソースコードの説明を記述するために使います。
一時的に処理を実行しないようにしたり,別の記述を試すときにも利用されることもあります。
# 例 base = 10 # 底辺に数値を代入 # base = -10 # マイナスの値確認用 # base = 25