2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pythonに日々の服装(ジャージ)を選択させる

Last updated at Posted at 2018-06-27

概要

私は、年中ジャージを愛用しています。その組み合わせは大きく4通りほどです。そこでもっと楽しいジャージライフが送れるよう、Pythonに天気予報を取得してもらい、ジャージのスタイルを選択してもらうことにしました。
ちなみに、結果は自分専用のSlackにrequestsを使い投げてもらうことにしていますが、今回はジャージ選択の部分だけを書きます。

環境

windows10
Python3.6.5
Anaconda3

livedoor Weather Hacks

実装

必要なインポート

Choice_jersey.py
import json

天気予報を取得する

天気予報JSONデータを取得します。
今回は、livedoor Weather Hacksを使用しています。
コードは以下の通りです。

Choice_jersey.py
def get_weather():
    url = 'http://weather.livedoor.com/forecast/webservice/json/v1'
    city = {'city': '130010'} #東京
    weatherdata = requests.get(url, params = city).json()
   
    return weatherdata

取得できる情報や都市コードなどはこちらを参考にしました。

服装の選択

取得した天気予報データを使って、その日のジャージスタイルを選択してもらいます。
今回はサンプルとして、判断は最高気温のみをもとにしています。
コードは以下の通りです。

Choice_jersey.py
def choice_jersey(weatherdata):
    jerseyplan = 'naked'
    plandate = weatherdata['forecasts'][0]['date']#当日の日付
    temperature = weatherdata['forecasts'][0]['temperature']['max']['celsius']#最高気温の取得
    
    if temperature > '31':
        jerseyplan = '夏スタイルです。'
    elif '20'< temperature <= '31':
        jerseyplan = '中の上スタイルです。'
    elif '15' <= temperature <= '20':
        jerseyplan = '中の下スタイルです。'
    else:
        jerseyplan = '冬スタイルです。'

    posttext = plandate + 'のジャージプランは' + jerseyplan

    return posttext

悪天候の日は…

悪天候日は傘を持っていくことを促すようにしてもらいます。今回は雨と雪のときのみです。
コードは以下の通りです。

Choice_jersey.py
    telop = weatherdata['forecasts'][0]['telop']
    if telop == '' or '':
        option =  '傘を持っていきましょう。'

あとは出来たテキストをLINEなりSlackなりに投げてあげるようにすれば、ジャージマイスターの完成です。タスクスケジューラなんかに入れて、自動化するのも良いと思います。

まとめ

これで楽しいジャージライフが送れます。

2
1
2

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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?