Try   HackMD
tags: Python勉強会

【50期】Python勉強会 第6回 課題 ※非採用

<第6回Web会議日程>
2023年04月19日(水) 19:00から

課題

西暦から干支を検索する「lambda_function.py」がある。

以下の空欄を埋めて完成させてください

・問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文について ※おさらいの内容

<if文の基本構成>

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について

<JSONとは>
「JavaScript Object Notation」の略で、「JavaScriptのオブジェクトの書き方を元にしたデータ定義方法」のこと

<JSONの形式>
・{} の中にキーと値をコロンで区切って記述
・カンマで区切ると、キーと値の組み合わせを複数記述可能
・[]を使うことで配列の表現も可能

⇒Pythonでは、辞書型として取り込むことが可能

・LINE_CHANNEL_ACCESS_TOKENについて

<LINE_CHANNEL_ACCESS_TOKENとは>
 LINE_CHANNEL_ACCESS_TOKENは、LINE Messaging APIを使用してLINEプラットフォームでボットを開発する際に必要な認証トークンの一種

<LINE Messaging APIとは>
 LINEプラットフォーム上で動作するボットアプリケーションを開発するためのAPIであり、ボットがLINEユーザーとやり取りするためのメッセージ送受信機能や、LINEアカウントの情報を取得するための機能を提供している。

・スクリプト仕様

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パラメータに、取得した天気予報情報を代入

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)開発