Python コーディング問題 第20回『 値渡しと参照渡し』

プログラミング上達のコツは学習初期段階でとにかく手を動かしてコーディングすることです。
本シリーズでは Python の初学者に向けたコーディング問題を出題します。
今回は値渡しと参照渡しについて学習します。コーディング指示に従ってコーディングしてみましょう!

目次

学習の進め方-

  1. プログラム説明および目的を確認し、どのようなプログラムで何を学ぶかイメージしましょう。
  2. コーディング指示に従ってコーディングをします。
    もし分からなければ、コード例を確認しても良いです。
  3. 自分の出力結果と出力結果例を比較してみましょう。
  4. コード例を確認し、自分のコードと比較してみましょう。
    コード例は「あくまでも例」なので完全に一致する必要はありません。
  5. 最終的にはコーディング指示だけでコーディングできるよう、繰り返し練習しましょう。

Python コーディング問題 1:お気に入りの本リストの更新

プログラム説明

このプログラムは、お気に入りの本リストに新しい本を追加するものです。関数を使用して本リストを更新し、参照渡しの効果を確認します。

目的

関数の定義と呼び出し、引数の参照渡し、リストの操作を学びます。

コーディング指示

新しいPythonファイル book_list_update.py を作成する

  1. 任意のエディタを開き、新しいファイルを作成します。
  2. ファイル名を book_list_update.py として保存します。

add_book という関数を作成する

  1. 関数名は add_book とします。
  2. 引数として book_listnew_book を受け取ります。
  3. 関数内で book_listnew_book を追加します。

メインプログラムを作成する

  1. ユーザーにお気に入りの本リストをカンマ区切りで入力させ、それを book_list というリストに変換します。
  2. ユーザーに新しく追加したい本のタイトルを入力させ、それを new_book という変数に格納します。
  3. add_book 関数を呼び出して book_list を更新します。
  4. 更新された book_list を表示します。

出力結果例

タップして出力結果例を表示

初期のお気に入りの本リストをカンマ区切りで入力してください: book_A,book_B,book_C
追加する本のタイトルを入力してください: book_D
更新されたお気に入りの本リスト: [‘book_A’, ‘book_B’, ‘book_C’, ‘book_D’]

Python コード例/

タップして出力結果例を表示
# 本リストに新しい本を追加する関数
def add_book(book_list, new_book):
    # 新しい本をリストに追加
    book_list.append(new_book)

# 初期のお気に入りの本リストを入力
book_list = input("初期のお気に入りの本リストをカンマ区切りで入力してください: ").split(",")

# 新しい本の追加
new_book = input("追加する本のタイトルを入力してください: ")
# 関数を呼び出して本リストを更新
add_book(book_list, new_book)

# 更新された本リストの表示
print("更新されたお気に入りの本リスト:", book_list)

Python コーディング問題 2:買い物リストから商品を削除する

プログラム説明

このプログラムは、買い物リストから特定の商品を削除するものです。既存の買い物リストと削除する商品を引数として受け取り、買い物リストを更新する関数を作成します。

目的

関数の定義と呼び出し、リストの操作(削除)を学びます。

コーディング指示

新しいPythonファイル shopping_list_remove.py を作成する

  1. 任意のエディタを開き、新しいファイルを作成します。
  2. ファイル名を shopping_list_remove.py として保存します。

remove_item という関数を作成する

  1. remove_item という関数を定義し、引数として shopping_listitem を受け取ります。
  2. 関数内で shopping_list から item を削除します。

メインプログラムを作成する

  1. shopping_list リストを作成します。ユーザーにカンマ区切りで初期の買い物リストを入力させ、split メソッドでリストに変換します。
  2. ユーザーに削除する商品を入力させ、その値を item に格納します。
  3. remove_item 関数を呼び出し、shopping_list を更新します。
  4. 更新された shopping_list を表示します。

出力結果例

タップして出力結果例を表示

初期の買い物リストをカンマ区切りで入力してください: トマト,キャベツ,きゅうり
削除する商品を入力してください: キャベツ
更新された買い物リスト: [‘トマト’, ‘きゅうり’]

Python コード例/

タップして出力結果例を表示
# 買い物リストから商品を削除する関数を定義
def remove_item(shopping_list, item):
    shopping_list.remove(item)

# メインプログラム
# ユーザーに初期の買い物リストをカンマ区切りで入力させる
shopping_list = input("初期の買い物リストをカンマ区切りで入力してください: ").split(',')

# 削除する商品の入力
# ユーザーに削除する商品を入力させる
item = input("削除する商品を入力してください: ")

# 関数を呼び出して買い物リストを更新
remove_item(shopping_list, item)

# 更新された買い物リストを表示
print("更新された買い物リスト:", shopping_list)

Python コーディング問題 3:読書リストの並び替え

プログラム説明

このプログラムは、読書リストをアルファベット順に並び替えるものです。既存の読書リストを引数として受け取り、並び替えたリストを返す関数を作成します。

目的

関数の定義と呼び出し、リストの操作(並び替え)を学びます。

コーディング指示

新しいPythonファイル reading_list_sort.py を作成する

  1. 任意のエディタを開き、新しいファイルを作成します。
  2. ファイル名を reading_list_sort.py として保存します。

sort_books という関数を作成する

  1. sort_books という関数を定義し、引数として reading_list を受け取ります。
  2. 関数内で reading_list をアルファベット順に並び替えます。

メインプログラムを作成する

  1. reading_list リストを作成します。ユーザーにカンマ区切りで初期の読書リストを入力させ、split メソッドでリストに変換します。
  2. sort_books 関数を呼び出し、reading_list を並び替えます。
  3. 並び替えた reading_list を表示します。

出力結果例

タップして出力結果例を表示

初期の読書リストをカンマ区切りで入力してください: A,E,C,B,D
並び替えた読書リスト: [‘A’, ‘B’, ‘C’, ‘D’, ‘E’]

Python コード例/

タップして出力結果例を表示
# 読書リストをアルファベット順に並び替える関数を定義
def sort_books(reading_list):
    reading_list.sort()

# メインプログラム
# ユーザーに初期の読書リストをカンマ区切りで入力させる
reading_list = input("初期の読書リストをカンマ区切りで入力してください: ").split(',')

# 関数を呼び出して読書リストを並び替え
sort_books(reading_list)

# 並び替えた読書リストを表示
print("並び替えた読書リスト:", reading_list)

Python コーディング問題 4:旅行リストに新しい旅行先を追加する

プログラム説明

このプログラムは、旅行リストに新しい旅行先を追加するものです。既存の旅行リストと新しい旅行先を引数として受け取り、旅行リストを更新する関数を作成します。

目的

関数の定義と呼び出し、リストの操作(連結)を学びます。

コーディング指示

新しいPythonファイル travel_list_add.py を作成する

  1. 任意のエディタを開き、新しいファイルを作成します。
  2. ファイル名を travel_list_add.py として保存します。

add_destination という関数を作成する

  1. add_destination という関数を定義し、引数として travel_listnew_destination を受け取ります。
  2. 関数内で travel_listnew_destination を連結します。

メインプログラムを作成する

  1. travel_list リストを作成します。ユーザーにカンマ区切りで初期の旅行リストを入力させ、split メソッドでリストに変換します。
  2. ユーザーに新しい旅行先を入力させ、その値を new_destination に格納します。
  3. add_destination 関数を呼び出し、travel_list を更新します。
  4. 更新された travel_list を表示します。

出力結果例

タップして出力結果例を表示

初期の旅行リストをカンマ区切りで入力してください: 東京,名古屋,大阪
追加する旅行先を入力してください: 北海道
更新された旅行リスト: [‘東京’, ‘名古屋’, ‘大阪’, ‘北海道’]

Python コード例/

タップして出力結果例を表示
# 旅行リストに新しい旅行先を連結する関数を定義
def add_destination(travel_list, new_destination):
    travel_list += [new_destination]

# メインプログラム
# ユーザーに初期の旅行リストをカンマ区切りで入力させる
travel_list = input("初期の旅行リストをカンマ区切りで入力してください: ").split(',')

# 新しい旅行先の追加
# ユーザーに新しい旅行先を入力させる
new_destination = input("追加する旅行先を入力してください: ")

# 関数を呼び出して旅行リストを更新
add_destination(travel_list, new_destination)

# 更新された旅行リストを表示
print("更新された旅行リスト:", travel_list)

Python コーディング問題 5(応用):お気に入りの本リストの更新

プログラム説明

このプログラムは、お気に入りの本リストに新しい本を追加するものです。関数を使用して本リストを更新し、参照渡しの効果を確認します。

目的

関数の定義と呼び出し、引数の参照渡し、リストの操作を学びます。

コーディング指示

新しいPythonファイル book_list_update.py を作成する

  1. 任意のエディタを開き、新しいファイルを作成します。
  2. ファイル名を book_list_update.py として保存します。

add_book という関数を作成する

  1. 関数名は add_book とします。
  2. 引数として book_listnew_book を受け取ります。
  3. 関数内で book_listnew_book を追加します。すでにリストに存在する場合は追加しません。
  4. この関数ではif文を使用します。

メインプログラムを作成する

  1. ユーザーにお気に入りの本リストをカンマ区切りで入力させ、それを book_list というリストに変換します。
  2. ユーザーに新しく追加したい本のタイトルを入力させ、それを new_book という変数に格納します。
  3. add_book 関数を呼び出して book_list を更新します。
  4. 更新された book_list を表示します。

出力結果例

タップして出力結果例を表示

初期のお気に入りの本リストをカンマ区切りで入力してください: book_A,book_B,book_C
追加する本のタイトルを入力してください: book_B
更新されたお気に入りの本リスト: [‘book_A’, ‘book_B’, ‘book_C’]

Python コード例/

タップして出力結果例を表示
# 本リストに新しい本を追加する関数
def add_book(book_list, new_book):
    # すでにリストに存在するかチェック
    if new_book not in book_list:
        # 存在しなければ追加
        book_list.append(new_book)

# 初期のお気に入りの本リストを入力
book_list = input("初期のお気に入りの本リストをカンマ区切りで入力してください: ").split(",")

# 新しい本の追加
new_book = input("追加する本のタイトルを入力してください: ")
# 関数を呼び出して本リストを更新
add_book(book_list, new_book)

# 更新された本リストの表示
print("更新されたお気に入りの本リスト:", book_list)

Python コーディング問題 6(応用):買い物リストから商品を削除する

プログラム説明

このプログラムは、買い物リストから特定の商品を削除するものです。既存の買い物リストと削除する商品を引数として受け取り、買い物リストを更新する関数を作成します。

目的

関数の定義と呼び出し、リストの操作(削除)を学びます。

コーディング指示

新しいPythonファイル shopping_list_remove.py を作成する

  1. 任意のエディタを開き、新しいファイルを作成します。
  2. ファイル名を shopping_list_remove.py として保存します。

remove_item という関数を作成する

  1. remove_item という関数を定義し、引数として shopping_listitem を受け取ります。
  2. 関数内で shopping_list から item を削除します。item が存在するかをチェックし、存在する場合のみ削除します。
  3. この関数ではif文を使用します。

メインプログラムを作成する

  1. shopping_list リストを作成します。ユーザーにカンマ区切りで初期の買い物リストを入力させ、split メソッドでリストに変換します。
  2. ユーザーに削除する商品を入力させ、その値を item に格納します。
  3. remove_item 関数を呼び出し、shopping_list を更新します。
  4. 更新された shopping_list を表示します。

出力結果例

タップして出力結果例を表示

初期の買い物リストをカンマ区切りで入力してください: トマト,キャベツ,きゅうり
削除する商品を入力してください: 白菜
白菜 はリストに存在しません。
更新された買い物リスト: [‘トマト’, ‘キャベツ’, ‘きゅうり’]

Python コード例/

タップして出力結果例を表示
# 買い物リストから商品を削除する関数を定義
def remove_item(shopping_list, item):
    # 商品がリストに存在するかチェック
    if item in shopping_list:
        # 商品が存在すれば削除
        shopping_list.remove(item)
    else:
        # 商品が存在しない場合のメッセージ
        print(f"{item} はリストに存在しません。")

# メインプログラム
# ユーザーに初期の買い物リストをカンマ区切りで入力させる
shopping_list = input("初期の買い物リストをカンマ区切りで入力してください: ").split(',')

# 削除する商品の入力
# ユーザーに削除する商品を入力させる
item = input("削除する商品を入力してください: ")

# 関数を呼び出して買い物リストを更新
remove_item(shopping_list, item)

# 更新された買い物リストを表示
print("更新された買い物リスト:", shopping_list)

Python コーディング問題 7(応用):読書リストの並び替え

プログラム説明

このプログラムは、読書リストをアルファベット順に並び替えるものです。既存の読書リストを引数として受け取り、並び替えたリストを返す関数を作成します。

目的

関数の定義と呼び出し、リストの操作(並び替え)を学びます。

コーディング指示

新しいPythonファイル reading_list_sort.py を作成する

  1. 任意のエディタを開き、新しいファイルを作成します。
  2. ファイル名を reading_list_sort.py として保存します。

sort_books という関数を作成する

  1. sort_books という関数を定義し、引数として reading_list を受け取ります。
  2. 関数内で reading_list をアルファベット順に並び替えます。元のリストもそのまま保持します。
  3. 並べ替えたリストを利用してfor文を使って元のリストの上書きを実行します。

メインプログラムを作成する

  1. reading_list リストを作成します。ユーザーにカンマ区切りで初期の読書リストを入力させ、split メソッドでリストに変換します。
  2. sort_books 関数を呼び出し、reading_list を並び替えます。
  3. 並び替えた reading_list を表示します。

出力結果例

タップして出力結果例を表示

初期の読書リストをカンマ区切りで入力してください: A_book,D_book,B_book,C_book
並び替えた読書リスト: [‘A_book’, ‘B_book’, ‘C_book’, ‘D_book’]

Python コード例/

タップして出力結果例を表示
# 読書リストをアルファベット順に並び替える関数を定義
def sort_books(reading_list):
    # アルファベット順に並び替え
    sorted_list = sorted(reading_list)
    # 元のリストを上書き
    for i in range(len(reading_list)):
        reading_list[i] = sorted_list[i]

# メインプログラム
# ユーザーに初期の読書リストをカンマ区切りで入力させる
reading_list = input("初期の読書リストをカンマ区切りで入力してください: ").split(',')

# 関数を呼び出して読書リストを並び替え
sort_books(reading_list)

# 並び替えた読書リストを表示
print("並び替えた読書リスト:", reading_list)
(Visited 5 times, 1 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次