このPythonコードは授業で下のページの「第2章プログラミング」プリントのno.5と併用してご活用ください。

本時の内容


授業プリント問題

例題)【主】(各2点×4=8点) パターン
パターン①引数も戻り値もない関数
print(“こんにちは!”)というプログラムに、say_helloという名前の関数を作成し、3回表示させる。
コード
def say_hello(): #関数の名前
print(“こんにちは!”) #関数が行う処理(つまりただ「こんにちは」と表示させるだけの関数)
say_hello() #関数を呼んで実行
say_hello()
say_hello()
実行結果
こんにちは!
こんにちは!
こんにちは!

パターン②引数を使う関数
print(“こんにちは、” + name + “さん!”)というプログラムに、greetという関数名をつけて、nameを引数とし、「自分の名前」を表示させる
コード
def greet(name): #関数の名前、「name」が引数
print(“こんにちは、” + name + “さん!”) #関数が行う処理
greet(“りさ”) # 出力: こんにちは、りささん!関数の「name」に「りさ」が引き渡される(引数)
実行結果
こんにちは、りささん!

パターン③戻り値だけを使う関数
作成したリストkuji=[“大吉”,”中吉”,”小吉”,”凶”]からランダムに文字を抽出する関数を作成する。
コード
import random #ランダム関数を使えるように設定する。
def omikuji(): #関数に名前を付ける。
kuji=[“大吉”,”中吉”,”小吉”,”凶”] #くじの配列(リスト)を作る。
return random.choice(kuji) #指定したリスト、「kuji」からランダムに1つ選んで返す。
kekka=omikuji()
print(“結果は”,kekka,”です”) #omikuji()を呼び出し、戻り値を変数kekkaに保存して表示する。
実行結果
結果は 凶 です

パターン④ 引数も戻り値も使う関数
引数a, bを使って、a+bを戻り値として表示させる関数を作成する。
コード
def add(a, b):
#「def」で関数を定義。addが関数の名前で、a,bは引数(関数に値を渡す入り口)関数はa,bという2つの値を受け取る、と約束している。
return a + b #計算して戻り値を返す。
result = add(2, 5)
#関数を呼び出す。add(2,5)で関数を呼び出し、戻ってきた値(7)が変数resultに代入される。
print(result) #resultを表示する。
実行結果
7

課題実行結果
課題1)次のプログラムを作成し、実行せよ。
【思】各3点×4=12点(減点法)
(1)引数なし・戻り値なしの関数
関数名: say_something() とし、
自分の好きな四字熟語を表示させるプログラムを作成してください。
コード
def say_something():
#関数の名前
print("七転八起")
say_something()
実行結果(例)
七転八起
(2)引数だけを使う関数。
関数名:greet_two(name1, name2) とし、
引数を2つ使って、「こんにちは、一郎さん!」 「こんにちは、次郎さん!」
と表示させるだけのプログラムを関数を利用して作成してください。
コード
def greet_two(name1, name2):
print("こんにちは、" + name1 + "さん!")
print("こんにちは、" + name2 + "さん!")
greet_two("一郎", "次郎")
実行結果(例)
こんにちは、一郎さん! こんにちは、次郎さん!
(3)戻り値だけを使う関数
関数名:suggest_genre() 配列(リスト): とし、
genres = [“アクション”, “コメディ”, “ファンタジー”, “ホラー”, “SF”] という宣言をして、
おすすめの映画ジャンルは【ランダムに選択される要素】です!
と表示されるプログラムを作成してください。
コード
import random
def suggest_genre():
genres = ["アクション", "コメディ", "ファンタジー", "ホラー", "SF"]
return random.choice(genres)
print("おすすめの映画ジャンルは", suggest_genre(), "です!")
実行結果(例)
おすすめの映画ジャンルは ホラー です!
(4)引数も戻り値も使う関数
関数名:kakezan(a, b) とし、
上の関数を使って、4×6を計算させるプログラムを作成してください。
コード
def kakezan(a, b):
return a * b
print(kakezan(4, 6))
実行結果(例)
24

発展問題
余裕がある生徒は挑戦してみよう!
(1)4の2乗を返す関数を作成しよう。ただし、関数名をsquare(x)とすること。
ヒント 戻り値の設定:return x*x
Python no.1 演算子の復習☟

コード
def square(x):
#squareは関数名、(x)は引数。
return x * x
#関数の計算結果を呼び出した場所に返す命令。
print(square(4)) #square(4)を呼び出すとxに4が入り計算結果が返ってくる。
実行結果(例)
16
(2) 2つの値、10と20の平均を返す関数を作成しよう。ただし、関数名と引数を、 average(x, y)と設定する。
コード
def average(x, y):
#averageは関数名、x,yは引数
return (x + y) / 2
#関数の計算結果を呼び出した場所に返す命令。
print(average(10, 20)) # 15.0
実行結果(例)
15.0
(3)消費税(10%)とし、120円の商品を購入するときの値段を計算してくれるプログラムを作成する。
ヒント:最初のプログラムは以下。
def Taxprice(price):
ans=price*1.1
return ans
コード
def Taxprice(price): ans=price*1.1 return ans print(Taxprice(120),"円")
実行結果(例)
132.0 円
(4) 関数名をdiscount_price(price, discount)とし、割引された後の値段を表示させるプログラムを関数を利用して作成してください。(設定は下に記載。)
ただし、戻り値は次の3つを設定すること:
(1000,0.1) ☞1000円の品物が10%割引された時の金額。(0.1は10%引き)
(500,0.2) ☞500円の品物が20%割引された時の金額。(0.2は20%引き)
(120,0.5) ☞120円の品物が50%割引された時の金額。(0.5は50%引き)
ヒント①: return price * (1 – discount)
ヒント②:print(discount_price(1000, 0.1), “円”) # 10% 引き → 900 円
コード
def discount_price(price, discount):
# 割引率 discount(例: 0.2 は 20% 引き)をかけて割引後の価格を返す
return price * (1 - discount)
print(discount_price(1000, 0.1), "円") # 10% 引き → 900 円
print(discount_price(500, 0.2), "円") # 20% 引き → 400 円
print(discount_price(120, 0.5), "円") # 50% 引き → 60 円
実行結果(例)
900.0 円 400.0 円 60.0 円

参考画像
こちらのスライドはすべて☟のPowerPoint資料に載っています。ぜひご活用ください。









前回のPython授業はこちら☟
Pythonコードすべての記事☟





