0
0

初心者向けPythonの課題を考える for MacOS

Last updated at Posted at 2024-07-10

概要

会社の人材育成を目的にPython初学者への学習課題を考える。
課題は提示しますが、自分の好きなように実装してOKです。自分が面白いと思うこと、学びたいことを行ってください。

準備

7/27-8/11 課題1
8/11-8/30 課題3

課題1)Macのコマンドで得た情報を加工する

目的

Macのsystem_profilerコマンドを使ってシステム情報を取得し、その情報をPythonで加工して見やすく表示します。
この課題を通じて、Macのコマンドラインツールの使い方と、それをPythonで活用する方法を学ぶことができます。

手順

  1. システム情報の取得

    • system_profilerコマンドを使ってシステム情報を取得します。
    • 必要な情報(例: ハードウェア概要)を抽出します。
  2. Python環境の設定
    必要なライブラリをインストールします(特に追加ライブラリは必要ありませんが、subprocessライブラリを使用します)。

  3. コマンドの実行とデータ取得
    Pythonのsubprocessライブラリを使ってsystem_profilerコマンドを実行し、その出力を取得します。

  4. データの加工
    取得したシステム情報の中から、必要な項目(例: プロセッサ名、メモリ、シリアル番号など)を抽出します。

  5. データの表示
    抽出したデータをユーザーに見やすい形式で表示します。

課題のポイント

  1. コマンドの実行: subprocessライブラリを使ってシステムコマンドを実行し、結果を取得する方法を学ぶ。
  2. データ加工: 取得したテキストデータを解析して必要な情報を抽出する方法を学ぶ。
  3. データの表示: 抽出した情報をユーザーにわかりやすい形式で表示する方法を考える。

応用課題(任意)

  1. その他のシステム情報の取得

    • system_profilerコマンドを使って他のシステム情報(例: ネットワーク情報、ストレージ情報など)を取得し、同様に解析して表示する。
  2. データの保存:

    • 取得したシステム情報をテキストファイルやJSONファイルに保存する。
  3. GUIの作成:

    • tkinterライブラリを使って、取得したシステム情報を表示する簡単なGUIアプリケーションを作成する。

完成したら

  1. コードにコメントを書く

  2. コードの静的解析ツールを使って、コードを綺麗にします

  3. GitHubに作成したコードを登録する。追加でコマンドの機能、使い方をREADMEに書く。見た人が実行できることを意識して書く。動作環境も書いておく(MacOSのバージョン、Pythonのバージョン等、関係ありそうなもの)。実行結果の画像もあると良い

  4. 講師や同期にGitHubのURLをドヤ共有する

  5. 課題を作った人に缶ビールを2缶送る

課題2)天気予報APIを使ったデータ取得と分析

目的

OpenWeatherMap APIを使って、指定した都市の天気情報を取得し、そのデータを加工・分析して、ユーザーに見やすい形式で出力します。

この課題を通じて、APIの基本的な使い方とデータ処理のスキルを身につけることができます。
私の経験上、課題1と課題2を組み合わせてデータを処理することが業務効率化に役立っています。

手順

  1. APIキーの取得:
    OpenWeatherMapのウェブサイトで無料アカウントを作成し、APIキーを取得します。
    OpenWeatherMap API でアカウントを作成してAPIキーを取得します。

  2. Python環境の設定:
    必要なライブラリをインストールします。

    pip install requests # 環境によってはpip3ね
    
  3. APIリクエストの作成:

    • Pythonのrequestsライブラリを使って、OpenWeatherMap APIから天気データを取得します。
    • APIエンドポイント: http://api.openweathermap.org/data/2.5/weather
    • パラメータ: 都市名、APIキー、レスポンス形式(JSON)。都市名は対話的入力できると面白そう
  4. データの加工:
    取得したJSONデータから、必要な情報(例: 気温、湿度、天気の説明など)を抽出します。

  5. データの表示:
    抽出したデータをユーザーに見やすい形式で表示します。

課題のポイント

  • APIの理解: APIとは何か、どのようにリクエストを送信し、レスポンスを受け取るかを理解する。
  • データ加工: JSONデータの扱い方、必要な情報の抽出方法を学ぶ。
  • エラーハンドリング: APIリクエストが失敗した場合の対処方法を考える。
  • ユーザーインターフェース: 取得したデータをユーザーにわかりやすく表示する方法を考える。

応用課題(任意)

  1. 複数都市の天気情報取得:
    リストで指定された複数の都市の天気情報を一度に取得し、一覧表示する。

  2. データの保存:
    取得した天気情報をCSVファイルに保存する。

  3. グラフの作成:
    matplotlibライブラリを使って、取得した天気データをグラフ化する。

    例1: 時系列データの気温変化
    もし複数の都市の気温を時系列で取得できる場合、横軸を時間、縦軸を気温としてグラフ化することが考えられます。

    例2: 都市ごとの気温比較
    複数の都市の気温を比較する場合、横軸を都市名、縦軸を気温として棒グラフを作成することが考えられます。

完成したら

これまでと同じことをしてください。

課題3)SQLiteデータベースに接続してSQLを実行

目的

SQLiteデータベースに接続し、SQLクエリを実行してデータの操作を学びます。

  • ローカル環境で動作する軽量データベース。
  • インターネット接続不要で、簡単にセットアップ可能。

この課題を通じて、基本的なデータベース操作とSQLクエリの使い方を学ぶことができます。

手順

  1. Python環境の設定
    sqlite3モジュールはPythonに標準で付属しているため、追加のインストールは不要です。

  2. データベースの作成と接続:
    SQLiteデータベースを作成し、接続します。
    ※データベースは頻繁に作るものではないので、データベースは事前に作っておいて、接続するだけでもいいと思います。

  3. テーブルの作成
    SQLクエリを使用してデータベース内にテーブルを作成します。

  4. データの挿入
    作成したテーブルにデータを挿入します。

  5. データの取得
    SQLクエリを使用してデータを取得し、表示します。

課題のポイント

  • データベース接続: SQLiteデータベースへの接続方法を学ぶ。
  • テーブルの作成: SQLを使ってテーブルを作成する方法を学ぶ。
  • データ操作: データの挿入、更新、削除、取得の基本的なSQL操作を学ぶ。
  • エラーハンドリング: データベース操作中のエラーハンドリング方法を学ぶ。

応用課題(任意)

  1. データの更新と削除:
    ユーザー情報を更新するSQLクエリと、ユーザー情報を削除するSQLクエリを追加して実行する。

  2. 検索機能の追加:
    特定の条件に基づいてユーザー情報を検索するSQLクエリを追加する(例: 年齢が30以上のユーザーを取得)。

  3. インデックスの作成:
    大規模なデータセットの効率的な検索をサポートするために、テーブルのカラムにインデックスを作成する。

課題4)Lineのメッセージを送受信してみよう

目的

タイトルの通り

手順

全部自分で調査して実現しましょう。これができれば大したものだと思います
https://search.yahoo.co.jp/search?p=LINE+Messaging+API+python&x=wrt&aq=-1&ai=61265f2f-d76b-41cc-899a-8d674ebaa980&ts=1837&ei=UTF-8&fr=top_ga1_sa

チャレンジ課題です。Macだけではできないと思います

完成したら

これまでと同じことをしてください。ビールは6缶にしてください

回答

1000006226.jpg

プログラムが動けばOKです。
困ったら私も実装するので聞いてください。AIも活用してね

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0