Python プログラミング練習 配列,関数

3つの制御構造の学習

 処理の流れは「順次」「分岐」「反復」の3つの構造の組み合わせで構成されます。
 下記記事を参考にしてください。

 Python 処理の流れを学ぶためのプログラム例 はじめに - 勉強ボックス管理者ブログ

 Python 処理の流れを学ぶためのプログラム例(分岐) - 勉強ボックス管理者ブログ

 Python 処理の流れを学ぶためのプログラム例(反復) - 勉強ボックス管理者ブログ

ソースコード印刷用ファイル

 順次,分岐,反復,配列,関数のソースコード例です。
 Pythonプログラミング練習1_基本.pdf - Google ドライブ

 

ソースコード

配列

 同じデータ型(整数値,文字列など)で複数の変数を扱いたい場合,配列という仕組みを利用すると便利です。
 例えば野球ゲームのプログラムを作成していて,得点の変数を用意したとします。
  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 戻り値

・def文を使うと,独自の関数を定義することができる。
・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

 

次のステップ

 ここまで学習した内容を使って,少し長いプログラムを記述してみましょう。
 kinutani.hateblo.jp


 

関連記事

kinutani.hateblo.jp