プログラミング上達のコツは学習初期段階でとにかく手を動かしてコーディングすることです。
本シリーズでは Python の初学者に向けたコーディング問題を出題します。
今回は関数の定義と利用方法 について学習します。コーディング指示に従ってコーディングしてみましょう!
学習の進め方-
- プログラム説明および目的を確認し、どのようなプログラムで何を学ぶかイメージしましょう。
- コーディング指示に従ってコーディングをします。
もし分からなければ、コード例を確認しても良いです。 - 自分の出力結果と出力結果例を比較してみましょう。
- コード例を確認し、自分のコードと比較してみましょう。
コード例は「あくまでも例」なので完全に一致する必要はありません。 - 最終的にはコーディング指示だけでコーディングできるよう、繰り返し練習しましょう。
Python コーディング問題 1:野菜を切る関数
プログラム説明
このプログラムは、野菜の種類を引数として受け取り、野菜の皮をむいて切る処理を行う関数を作成し、それを利用して複数の野菜を処理するものです。
目的
この問題では、関数の定義と呼び出し、および引数と戻り値の概念を学び、プログラムの保守性を向上させる方法を理解することを目的とします。
コーディング指示
新しいPythonファイル cut_vegetables.py
を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
cut_vegetables.py
として保存します。
cut_vegetable
という関数を作成する
cut_vegetable
という関数を定義し、引数としてvegetable
を受け取ります。- 関数内で「〇〇の皮をむいて切ります」と表示するようにします。〇〇は引数として受け取った
vegetable
の値です。 - 関数は戻り値として「〇〇の皮をむいて切りました」を返します。
複数の野菜を処理するコードを追加する
cut_vegetable
関数を複数回呼び出し、複数の野菜(例:ニンジン、玉ねぎ、じゃがいも)を処理します。- 各呼び出しの戻り値を受け取り、表示します。
出力結果例
タップして出力結果例を表示
ニンジンの皮をむいて切ります
ニンジンの皮をむいて切りました
玉ねぎの皮をむいて切ります
玉ねぎの皮をむいて切りました
じゃがいもの皮をむいて切りました
Python コード例/
タップして出力結果例を表示
# 野菜を切る関数を定義
def cut_vegetable(vegetable):
# 野菜の種類を受け取って処理を表示
print(f"{vegetable}の皮をむいて切ります")
# 処理が完了したことを示すメッセージを戻り値として返す
return f"{vegetable}の皮をむいて切りました"
# ニンジンを処理
result_carrot = cut_vegetable("ニンジン")
# 戻り値を表示
print(result_carrot)
# 玉ねぎを処理
result_onion = cut_vegetable("玉ねぎ")
# 戻り値を表示
print(result_onion)
# じゃがいもを処理
result_potato = cut_vegetable("じゃがいも")
# 戻り値を表示
print(result_potato)
Python コーディング問題 2:お使い関数
プログラム説明
このプログラムは、おつかいのためにお金と買い物リストを引き受け取り、おつりを計算する関数を作成するものです。
目的
この問題では、関数の定義と呼び出し、および複数の引数と戻り値の概念を学び、プログラムの保守性と再利用性を向上させる方法を理解することを目的とします。
コーディング指示
新しいPythonファイル shopping.py
を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
shopping.py
として保存します。
go_shopping
という関数を作成する
go_shopping
という関数を定義し、引数としてmoney
とshopping_list
を受け取ります。shopping_listはリスト型変数です。リストの作成は関数処理実行前に行います。- 関数内で、合計金額を計算します。すべての商品を100円と仮定します。 total_costという変数に、リストの長さ×100円の合計金額を代入してください。
- おつりを計算し、戻り値としておつりを返します。 おつりはchange という変数とし、引数moneyからtotal_costを引いた値を代入してください
おつかいを処理するコードを追加する
- shopping_listを作成します。要素は”apple”, ”banana”, “peach”としてください。
go_shopping
関数を呼び出し、おつかいを処理します。- 呼び出しの戻り値を受け取り、表示します。
出力結果
タップして出力結果例を表示
おつり: 700
Python コード
# おつかい関数を定義
def go_shopping(money, shopping_list):
# 合計金額を計算(例としてすべての商品は100円と仮定)
total_cost = 100 * len(shopping_list)
# おつりを計算
change = money - total_cost
# 戻り値としておつりを返す
return change
# おつかいの処理
shopping_list = ["apple", "banana", "carrot"]
# 関数を呼び出しておつりを計算
change = go_shopping(1000, shopping_list)
# おつりを表示
print(f"おつり: {change}")
Python コーディング問題 3:音楽プレイリストの時間計算
プログラム説明
このプログラムは、音楽プレイリストの各曲の長さを引数として受け取り、プレイリスト全体の総再生時間を計算する関数を作成するものです。
目的
関数の定義と呼び出し、リストの操作を学びます。
コーディング指示
新しいPythonファイル playlist_duration.py
を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
playlist_duration.py
として保存します。
calculate_total_duration
という関数を作成する
calculate_total_duration
という関数を定義し、引数としてtrack_lengths
を受け取ります。track_lengths
はリスト型変数です。リストの作成は関数処理実行前に行います。- 関数内で、総再生時間
total_duration
をリスト型変数を引数にとるsum関数で計算し、その値を戻り値として返します。
音楽プレイリストの時間計算を処理するコードを追加する
track_lengths
リストを作成します。要素は3.5
,4.2
,5.0
としてください。calculate_total_duration
関数を呼び出し、総再生時間を計算します。- 呼び出しの戻り値を受け取り、表示します。
出力結果
タップして出力結果例を表示
総再生時間: 12.7 分
Python コード
# 音楽プレイリストの時間計算関数を定義
def calculate_total_duration(track_lengths):
# 総再生時間を計算
total_duration = sum(track_lengths)
# 戻り値として総再生時間を返す
return total_duration
# 音楽プレイリストの時間計算の処理
track_lengths = [3.5, 4.2, 5.0]
# 関数を呼び出して総再生時間を計算
total_duration = calculate_total_duration(track_lengths)
# 総再生時間を表示
print(f"総再生時間: {total_duration} 分")
Python コーディング問題 4:旅行の距離計算
プログラム説明
このプログラムは、複数の旅行先の距離を引数として受け取り、旅行の総距離を計算する関数を作成するものです。
目的
関数の定義と呼び出し、リストの操作を学びます。
コーディング指示
新しいPythonファイル travel_distance.py
を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
travel_distance.py
として保存します。
calculate_total_distance
という関数を作成する
calculate_total_distance
という関数を定義し、引数としてdistances
を受け取ります。distances
はリスト型変数です。リストの作成は関数処理実行前に行います。- 関数内で、総距離
total_distance
をリスト型変数を引数にとるsum関数で計算し、その値を戻り値として返します。
旅行の距離計算を処理するコードを追加する
distances
リストを作成します。要素は100
,200
,150
としてください。calculate_total_distance
関数を呼び出し、総距離を計算します。- 呼び出しの戻り値を受け取り、表示します。
出力結果
タップして出力結果例を表示
総距離: 450 km
Python コード
# 旅行の距離計算関数を定義
def calculate_total_distance(distances):
# 総距離を計算
total_distance = sum(distances)
# 戻り値として総距離を返す
return total_distance
# 旅行の距離計算の処理
distances = [100, 200, 150]
# 関数を呼び出して総距離を計算
total_distance = calculate_total_distance(distances)
# 総距離を表示
print(f"総距離: {total_distance} km")
Python コーディング問題 5:食事の準備
プログラム説明
このプログラムは、食事のために準備する料理のリストを引数として受け取り、準備する料理の数を計算する関数を作成するものです。
目的
関数の定義と呼び出し、および複数の引数と戻り値の概念を学び、プログラムの保守性と再利用性を向上させる方法を理解することを目的とします。
コーディング指示
新しいPythonファイル meal_preparation.py
を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
meal_preparation.py
として保存します。
prepare_meal
という関数を作成する
prepare_meal
という関数を定義し、引数としてdish_list
を受け取ります。dish_list
はリスト型変数です。リストの作成は関数処理実行前に行います。- 関数内で、準備する料理の数
num_dishes
をリスト型変数を引数にとるlen関数で計算し、その値を戻り値として返します。
食事の準備を処理するコードを追加する
dish_list
を作成します。要素は"Salad"
,"Soup"
,"Steak"
としてください。prepare_meal
関数を呼び出し、食事の準備を処理します。- 呼び出しの戻り値を受け取り、表示します。
出力結果
タップして出力結果例を表示
準備する料理の数: 3
Python コード
# 食事の準備関数を定義
def prepare_meal(dish_list):
# 準備する料理の数を計算
num_dishes = len(dish_list)
# 戻り値として準備する料理の数を返す
return num_dishes
# 食事の準備の処理
dish_list = ["Salad", "Soup", "Steak"]
# 関数を呼び出して準備する料理の数を計算
num_dishes = prepare_meal(dish_list)
# 準備する料理の数を表示
print(f"準備する料理の数: {num_dishes}")
Python コーディング問題 6:学生の成績計算
プログラム説明
このプログラムは、学生の名前と複数の科目の点数リストを引数として受け取り、各科目の平均点を計算する関数を作成するものです。
目的
この問題では、関数の定義と呼び出し、および複数の引数と戻り値の概念を学び、プログラムの保守性と再利用性を向上させる方法を理解することを目的とします。
コーディング指示
新しいPythonファイル grade_calculator.py
を作成する
- 任意のエディタを開き、新しいファイルを作成します。
- ファイル名を
grade_calculator.py
として保存します。
calculate_average
という関数を作成する
calculate_average
という関数を定義し、引数としてname
とgrades
を受け取ります。grades
はリスト型変数です。リストの作成は関数処理実行前に行います。- 関数内で、リスト型変数を引数にとるsum関数とlen関数を使って、科目の平均点を計算し、その値を戻り値として返します。
学生の成績計算を処理するコードを追加する
grades
リストを作成します。要素は85
,90
,78
としてください。name
変数を作成し、”John Doe” という値を代入してください。calculate_average
関数を呼び出し、学生の成績計算を処理します。- 呼び出しの戻り値を受け取り、表示します。
出力結果
タップして出力結果例を表示
John Doe の平均点は 84.33333333333333 点です
Python コード
# 学生の成績計算関数を定義
def calculate_average(name, grades):
# 平均点を計算
average = sum(grades) / len(grades)
# 戻り値として平均点を返す
return average
# 学生の成績計算の処理
grades = [85, 90, 78]
name = "John Doe"
# 関数を呼び出して平均点を計算
average_grade = calculate_average(name, grades)
# 平均点を表示
print(f"{name} の平均点は {average_grade} 点です")
コメント