LESSON 06

関数を作って使おう

よく使う処理に名前を付けて、何度でも呼び出します。

40分
必須
必須・これまでの復習

これまでの内容から、3問を復習しよう

前回までの内容から、毎回ランダムに3問が選ばれます。復習用ファイルは一つだけ作り、問題ごとに中身を書き換えます。

今回のファイル名lesson06_review.py

レッスン番号と使う場面が分かる名前にして、あとで探しやすくします。

  1. VS Code上部の「ファイル」をクリック
  2. 「新しいテキスト ファイル」をクリック
  3. Ctrl+S(Macは⌘+S)を押す
  4. lesson06_review.pyと入力して「保存」を押す

ここを確認:画面上のタブ、または左側のファイル一覧にlesson06_review.pyと表示されたら準備完了です。

復習 1

print・変数

x = 4
print(x + 3)

結果は?

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「結果は?」の答えとして何を確かめるのか決めます。
  2. 次にコードを上から読みます。変数へ入る値、繰返し、条件分岐が出てきたら、その行で何が変わるかを一つずつ紙に書きます。
  3. 最後に表示される値や残った値を選択肢と比べます。この問題では「4に3を足して7です。」という流れに注目します。
ヒントを見る

コードを自分で考えて作る問題ではありません。上にある見本コードを、復習用ファイルへ一文字ずつそのまま入力します。入力したら保存し、VS Code右上の▶を押します。画面下のターミナルに出た結果と選択肢を比べてください。記号や字下げが分からないときは、見本と同じ位置・同じ数にそろえれば大丈夫です。

復習 2

条件分岐

n = 8
if n > 5:
    print("大")

表示は?

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「表示は?」の答えとして何を確かめるのか決めます。
  2. 次にコードを上から読みます。変数へ入る値、繰返し、条件分岐が出てきたら、その行で何が変わるかを一つずつ紙に書きます。
  3. 最後に表示される値や残った値を選択肢と比べます。この問題では「8は5より大きいです。」という流れに注目します。
ヒントを見る

コードを自分で考えて作る問題ではありません。上にある見本コードを、復習用ファイルへ一文字ずつそのまま入力します。入力したら保存し、VS Code右上の▶を押します。画面下のターミナルに出た結果と選択肢を比べてください。記号や字下げが分からないときは、見本と同じ位置・同じ数にそろえれば大丈夫です。

復習 3

繰返し

for i in range(3):
    print(i)

最後の数は?

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「最後の数は?」の答えとして何を確かめるのか決めます。
  2. 次にコードを上から読みます。変数へ入る値、繰返し、条件分岐が出てきたら、その行で何が変わるかを一つずつ紙に書きます。
  3. 最後に表示される値や残った値を選択肢と比べます。この問題では「0、1、2です。」という流れに注目します。
ヒントを見る

コードを自分で考えて作る問題ではありません。上にある見本コードを、復習用ファイルへ一文字ずつそのまま入力します。入力したら保存し、VS Code右上の▶を押します。画面下のターミナルに出た結果と選択肢を比べてください。記号や字下げが分からないときは、見本と同じ位置・同じ数にそろえれば大丈夫です。

復習を終えたことを確認

実際に自分のパソコンで行ってから、チェックを入れてください。

◎
今日のゴール

defで関数を作り、引数と戻り値を使える。

  • ✓関数の便利さを説明できる
  • ✓関数を呼び出せる
  • ✓returnの値を追える
STEP 1

なぜ関数が必要なの?

今からやること
  1. 処理をまとめる理由を図で理解する
  2. 関数を作って呼び出す
  3. 引数で値を渡す
  4. returnで結果を受け取る
  5. 必須問題で確かめる

同じ計算や表示を何度も書くと、コードが長くなり、直す場所も増えます。関数は、いくつかの命令を一つの名前にまとめた「道具箱」です。

値を渡す→関数が処理→結果を返す

メリット:同じ処理を短い名前で何度も使え、修正も関数の中だけで済みます。

STEP 2

関数を作って実行しよう

今回のファイル名lesson06_step02.py

レッスン番号と使う場面が分かる名前にして、あとで探しやすくします。

  1. VS Code上部の「ファイル」をクリック
  2. 「新しいテキスト ファイル」をクリック
  3. Ctrl+S(Macは⌘+S)を押す
  4. lesson06_step02.pyと入力して「保存」を押す

ここを確認:画面上のタブ、または左側のファイル一覧にlesson06_step02.pyと表示されたら準備完了です。

この順番で実践します
  1. lesson06_step02.pyへ見本コードを一文字ずつ入力する
  2. 実行前に結果を予想する
  3. 保存してVS Code右上の「▶」を押す
  4. 下部ターミナルの結果を教材と比べる
def greet(name):
    print("こんにちは")
    print(name)

greet("結城")

最後に表示される名前は?

先に自分のパソコンで実行しましょう。画面に出た結果を見てから、下のボタンを押します。

STEP 3

returnで計算結果を返そう

def add(a, b):
    result = a + b
    return result

answer = add(4, 6)
print(answer)

returnは関数の外へ結果を渡します。add(4, 6)の結果10がanswerへ入ります。

answerの値は?

STEP 4

ここまで分かったか確認しよう

今回のファイル名lesson06_step04.py

この回の必須問題で使うファイルです。問題ごとに中身を書き換えて使います。

  1. VS Code上部の「ファイル」をクリック
  2. 「新しいテキスト ファイル」をクリック
  3. Ctrl+S(Macは⌘+S)を押す
  4. lesson06_step04.pyと入力して「保存」を押す

ここを確認:画面上のタブ、または左側のファイル一覧にlesson06_step04.pyと表示されたら準備完了です。

必須問題の進め方
  1. lesson06_step04.pyを作る
  2. 入力・保存・実行する
  3. ヒントと答えで確認し、同じファイルを書き換える
必須 1

2倍する関数

数を受け取り、2倍して返す関数を作ります。

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. 受け取る数をnumberという名前にし、2倍した値を関数の外へ返します。

  3. 次にコードを上から一行ずつ読みます。値が変わるたびに紙へ書き、最後の結果が問題の条件に合うか確かめます。
ヒントを見る

def double(number):から始め、次の行を4文字右へ下げます。

答えを見る
def double(number):
    return number * 2
print(double(5))

ターミナルに10と表示されたら成功です。

必須 2

合否を表示する関数

点数が60以上なら「合格」と表示する関数を作ります。

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. 関数へ渡されたscoreを60と比べ、通る道を一つ選びます。

  3. 次にコードを上から一行ずつ読みます。値が変わるたびに紙へ書き、最後の結果が問題の条件に合うか確かめます。
ヒントを見る

関数の中でif score >= 60:を使います。

答えを見る
def check(score):
    if score >= 60:
        print("合格")
    else:
        print("再挑戦")
check(70)

ターミナルに「合格」と表示されたら成功です。

必須 3

長方形の面積を返す

縦4、横6の長方形の面積を返す関数を作ります。

考え方を見る

最初から全部を理解しなくて大丈夫です。問題を小さな処理に分け、上から順番に見ていきます。

  1. 最初に問題文を読み、「何を作るか」「最後に何を表示するか」を確認します。
  2. 縦と横を二つの引数として受け取り、掛け算した結果を返します。

  3. 次にコードを上から一行ずつ読みます。値が変わるたびに紙へ書き、最後の結果が問題の条件に合うか確かめます。
ヒントを見る

def area(height, width):の次にreturnを書きます。

答えを見る
def area(height, width):
    return height * width
print(area(4, 6))

ターミナルに24と表示されたら成功です。

実践したことを確認

実際に自分のパソコンで行ってから、チェックを入れてください。

時間が余ったら

できるだけ解いてみよう

全10問
  1. 1. 名前を受け取って挨拶する関数
    ヒントを見る

    引数nameをprintします。

    答えを見る
    def greet(name):
        print("こんにちは", name)
  2. 2. 3倍して返す関数
    ヒントを見る

    return x * 3です。

    答えを見る
    def triple(x):
        return x * 3
  3. 3. 長方形の面積を返す
    ヒントを見る

    縦×横をreturnします。

    答えを見る
    def area(h, w):
        return h * w
  4. 4. 偶数か返す関数
    ヒントを見る

    余りが0かをreturnできます。

    答えを見る
    def is_even(n):
        return n % 2 == 0
  5. 5. リストの合計を返す
    ヒントを見る

    totalとforを関数の中で使います。

    答えを見る
    def total(A):
        s=0
        for n in A:
            s=s+n
        return s
  6. 6. 関数を2回呼び出す
    ヒントを見る

    同じ関数名を別の値で呼びます。

    答えを見る
    print(triple(2))
    print(triple(5))
  7. 7. 引数と戻り値を説明する
    ヒントを見る

    入る値と出る値です。

    答えを見る
    引数は関数へ渡す値、戻り値は関数から返る値。
  8. 8. returnのない関数を作る
    ヒントを見る

    表示だけならreturnは不要です。

    答えを見る
    def show():
        print("表示")
  9. 9. 最大値を返す関数
    ヒントを見る

    maximumを更新します。

    答えを見る
    def maximum(A):
        m=A[0]
        for n in A:
            if n>m: m=n
        return m
  10. 10. 自分の便利な関数を作る
    ヒントを見る

    繰り返したい処理を一つ選びます。

    答えを見る
    def cheer(name):
        print(name, "がんばれ!")