###### tags: `Python勉強会` # 【50期】Python勉強会 第6回 課題 ※非採用 :::info **<第6回Web会議日程>** 2023年04月19日(水) 19:00から ::: ## 課題 #### 西暦から干支を検索する「<span style="color:blue">lambda_function.py</span>」がある。 #### 以下の空欄を埋めて完成させてください #### #### ・問1 ※「lambda_function.py」の25行目 #### ・問2 ※「lambda_function.py」の31行目 #### ・問3 ※「lambda_function.py」の66行目 ------ ### ・スクリプト概要 本コードは、LINEの**Messaging API**を使用して、LINEボットを作成するための**AWS Lambda関数**を定義しており、LINE Messaging APIの応答メッセージを送信するために必要な情報を準備しています。 ------ ### ・if文について <span style="color:red">※おさらいの内容</span> :::warning **<if文の基本構成>** ```javascript if 条件式1: 条件1がTrueの場合に実行するコード elif 条件式2: 条件2がTrueの場合に実行するコード else: どの条件もTrueではない場合に実行するコード ``` 上記例では、最初に条件式1が評価されます。 条件式1がTrueの場合、条件1がTrueの場合に実行するコードが実行されます。 条件式1がFalseの場合、次に条件式2が評価されます。 条件式2がTrueの場合、条件2がTrueの場合に実行するコードが実行されます。 条件式2がFalseの場合、elseブロックのコードが実行されます。 ::: ### ・JSONについて :::warning **<JSONとは>** 「JavaScript Object Notation」の略で、「JavaScriptのオブジェクトの書き方を元にしたデータ定義方法」のこと **<JSONの形式>** ・{} の中にキーと値をコロンで区切って記述 ・カンマで区切ると、キーと値の組み合わせを複数記述可能 ・[]を使うことで配列の表現も可能 ⇒Pythonでは、**辞書型**として取り込むことが可能 ::: ### ・LINE_CHANNEL_ACCESS_TOKENについて :::warning **<LINE_CHANNEL_ACCESS_TOKENとは>** LINE_CHANNEL_ACCESS_TOKENは、LINE Messaging APIを使用してLINEプラットフォームでボットを開発する際に必要な認証トークンの一種 **<LINE Messaging APIとは>** LINEプラットフォーム上で動作するボットアプリケーションを開発するためのAPIであり、ボットがLINEユーザーとやり取りするためのメッセージ送受信機能や、LINEアカウントの情報を取得するための機能を提供している。 ::: ### ・スクリプト仕様 :::warning **1** GetWeatherForecast関数を定義 **1-1** 変数「url」に天気予報APIのURLを代入 **1-2** 1-1で代入したURLに対し、GETリクエストを送信した結果のJSONデータを変数「response_json」に代入 **1-3** 変数「response_json」のJSONデータを辞書型に変換して変数「response_dict」代入 **1-4** 変数「weatherinfo」に変数「response_dict」のKeyが"forecasts"の値のうち、Keyが変数「index」の値を代入 **1-5** 変数「date」に変数「response」のKeyが"date"の値を代入 **1-6** 変数「dateLabel」に変数「response」のKeyが"dateLabel"の値を代入 **1-7** 変数「telop」に変数「response」のKeyが"telop"の値を代入 **1-8** label2のtextパラメータに、取得した天気予報情報を代入 <BR> **2** GUIのパーツを生成・定義 **2-1** 変数「root」にメインウィンドウに対応するTkインスタンスを生成して代入 **2-2** メインウィンドウ「root」のタイトルを設定 **2-3** メインウィンドウ「root」のサイズを設定 **2-4** 変数「label1」にLabelインスタンスを生成して代入 **2-5** 「label1」を配置 **2-6** 変数「label2」にLabelインスタンスを生成して代入 **2-7** 「label2」を配置 **2-8** 変数「button1」にButtonインスタンスを生成して代入 **2-9** 「button1」を配置 **2-A** 変数「button2」にButtonインスタンスを生成して代入 **2-B** 「button2」を配置 **2-C** 変数「button3」にButtonインスタンスを生成して代入 **2-D** 「button3」を配置 **2-E** メインウィンドウ「root」をループで起動 ::: ※参考にしたサイトは以下にございます [API GatewayとLambda(Python)でLINE BOT(Messaging API)開発](https://qiita.com/w2or3w/items/1b80bfbae59fe19e2015)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up