MENU

4-06 Python プログラミング総合演習

学習目標

  • これまで学んだ知識を組み合わせた総合的なプログラムを作成できる
  • 関数を使ったプログラムの構造化を実践できる
  • 複雑なプログラムの設計と実装ができる
  • 今後の学習の方向性を理解する

前回の復習

前回学んだ内容を簡単に確認しましょう:

# Function definition with parameters and return value
def calculate_bmi(weight, height):
    bmi = weight / (height * height)
    return bmi

def get_bmi_category(bmi):
    if bmi < 18.5:
        return "Underweight"
    elif bmi < 25:
        return "Normal"
    else:
        return "Overweight"

# Function usage
weight = 65
height = 1.70
bmi = calculate_bmi(weight, height)
category = get_bmi_category(bmi)
print(f"BMI: {bmi:.1f}, Category: {category}")

復習問題:2つの数値を受け取って、大きい方を返す関数を作ってみよう


1. 総合演習プログラム

これまで学んだ全ての知識を使って、実践的なプログラムを作成してみましょう。

例1:学生成績管理システム

機能説明:

  • 学生データの追加・表示
  • 平均点の計算と表示
# Student data storage
students = []

def add_student():
    """Add new student"""
    name = input("Enter student name: ")
    math = int(input("Enter Math score: "))
    english = int(input("Enter English score: "))
    
    student = {"name": name, "math": math, "english": english}
    students.append(student)
    print(f"Student {name} added!")

def display_students():
    """Display all students"""
    print("\n=== All Students ===")
    for student in students:
        average = (student["math"] + student["english"]) / 2
        print(f"{student['name']}: Math {student['math']}, English {student['english']}, Average {average:.1f}")

def main():
    """Main program"""
    while True:
        print("\n1. Add Student  2. Display Students  3. Exit")
        choice = input("Choose (1-3): ")
        
        if choice == "1":
            add_student()
        elif choice == "2":
            display_students()
        elif choice == "3":
            break

# Run the program
main()

実習1:学生成績管理システムを実行して、いろいろな機能を試してみよう


例2:簡単な電卓プログラム

機能説明:

  • 四則演算の実行
  • 簡単なメニュー操作
def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

def multiply(a, b):
    return a * b

def divide(a, b):
    if b == 0:
        return "Error: Cannot divide by zero"
    return a / b

def main():
    """Main calculator program"""
    while True:
        print("\n1. Add  2. Subtract  3. Multiply  4. Divide  5. Exit")
        choice = input("Choose operation (1-5): ")
        
        if choice == "5":
            break
        
        if choice in ["1", "2", "3", "4"]:
            num1 = float(input("Enter first number: "))
            num2 = float(input("Enter second number: "))
            
            if choice == "1":
                result = add(num1, num2)
            elif choice == "2":
                result = subtract(num1, num2)
            elif choice == "3":
                result = multiply(num1, num2)
            elif choice == "4":
                result = divide(num1, num2)
            
            print(f"Result: {result}")

# Run the calculator
main()

実習2:電卓プログラムを実行して、計算や履歴機能を試してみよう


3. 今後の学習の方向性

プログラミングの基礎をマスターした皆さんへ

このコースで学んだ内容:

  • 変数とデータ型:プログラムの基本要素
  • 条件分岐:プログラムの論理構造
  • 繰り返し処理:効率的なプログラム作成
  • リストと辞書:データの管理と操作
  • 関数:コードの再利用と整理
  • 総合演習:実践的なプログラム開発

次のステップ

1. より高度なPython

  • クラスとオブジェクト指向プログラミング
  • ファイルの読み書き
  • エラー処理の詳細
  • 外部ライブラリの活用

3. Web開発

  • HTML/CSS の詳細学習
  • JavaScript の基礎
  • データベースの連携
  • より複雑なWebアプリケーション

3. データ分析・AI分野

  • NumPy, Pandas (データ分析)
  • Matplotlib (グラフ作成)
  • 機械学習の基礎
  • AI・人工知能の応用

4. その他の分野

  • ゲーム開発 (Pygame)
  • デスクトップアプリ (Tkinter)
  • 自動化・スクリプト作成
  • ネットワークプログラミング

学習を続けるためのアドバイス

  1. 実際に作ってみる:小さなプロジェクトから始める
  2. コミュニティに参加:プログラマーの集まりやオンライン学習
  3. 継続的な学習:新しい技術を少しずつ学ぶ
  4. 問題解決の練習:プログラミング問題サイトの活用

4. 最終課題

総合プロジェクト:個人作品の作成

これまで学んだ全ての知識を使って、オリジナルのプログラムを作成してください。

推奨プロジェクト例:

  1. 家計簿アプリ
    • 収入・支出の記録
    • カテゴリ別集計
    • 月別統計表示
  2. クイズゲーム
    • 問題と答えの管理
    • スコア計算
    • 難易度別出題
  3. タスク管理システム
    • タスクの追加・削除・完了
    • 優先度設定
    • 期限管理
  4. 簡単なWebサイト
    • 自己紹介ページ
    • 作品ポートフォリオ
    • お問い合わせフォーム

必須要素:

  • 関数の活用(最低3つの関数)
  • リストまたは辞書の使用
  • 繰り返し処理と条件分岐
  • ユーザーインターフェース
  • エラー処理

提出方法:

  • PythonAnywhereで動作するプログラム
  • 簡単な使用方法の説明
  • 工夫した点の説明

まとめ

6回の授業で学んだこと:

  • 第1回:Pythonの基礎と環境
  • 第2回:条件分岐と入力処理
  • 第3回:繰り返し処理
  • 第4回:リストと辞書
  • 第5回:関数の作成
  • 第6回:総合演習

皆さんはプログラミングの基礎をしっかりとマスターしました。これからも継続して学習を続け、より高度なプログラムを作成していってください。

プログラミングは創造的で楽しい活動です。学んだ知識を活用して、自分のアイデアを形にしていきましょう!

頑張ってください!🐍✨

コメント

コメントする