プログラミング

<洋服提案をしてくれるプログラミング>

<ソースコード>

  1. import requests#pop install requestで実行可能に
  2. def get_temperature(city_name, api_key):#APIキーを使用
  3.     base_url = "https://api.openweathermap.org/data/2.5/weather"
  4.     params = {
  5.         "q": city_name,
  6.         "appid": api_key,
  7.         "units": "metric" # 摂氏温度で取得
  8.     }
  9.     try:
  10.         response = requests.get(base_url, params=params)
  11.         data = response.json()
  12.         temperature = data["main"]["temp"]
  13.         return temperature
  14.     except Exception as e:
  15.         print("エラー:", e)
  16.         return None
  17. def main():
  18.     city_name = input("地名の名前をローマ字表記で記入") # 取得したい都市の名前を指定
  19.     api_key = "31271437f69c8c0f1e30401c2f81d303" # OpenWeatherMap APIキーを入力
  20.     temperature = get_temperature(city_name, api_key)
  21.     if temperature is not None:
  22.         print(f"{city_name}の現在の気温は {temperature}℃ です。")
  23.         #OpenWeatherMapから情報を取得
  24.         feeling=input("この気温についてどのように感じますか?(暑い/寒い/ちょうどいい)")
  25.         if feeling=="暑い" and temperature>30:
  26.             print("ノースリーブ")
  27.         elif feeling=="寒い" and temperature>30:
  28.             print("七分丈のシャツ/ノースリーブ+薄手のシャツ")
  29.         elif feeling=="寒い" and 25<temperature<31:
  30.             print("長袖または七分丈のシャツ/半袖+薄手のシャツ")
  31.         elif feeling=="暑い" and 25<temperature<31:
  32.             print("ノースリーブ")
  33.         elif feeling=="寒い" and 20<temperature<26:
  34.             print("カーディガン/長袖+薄手のジャケット/スウェット")
  35.         elif feeling=="暑い" and 20<temperature<26:
  36.             print("半袖シャツ/七分丈のシャツ/ノースリーブ+薄手のシャツ")
  37.         elif feeling=="寒い" and 15<temperature<21:
  38.             print("セーター")
  39.         elif feeling=="暑い" and 15<temperature<21:
  40.             print("長袖または七分丈のシャツ/半袖+薄手のシャツ")
  41.         elif feeling=="寒い" and 11<temperature<16:
  42.             print("厚手のニット/トレンチコート")
  43.         elif feeling=="暑い" and 11<temperature<16:
  44.             print("カーディガン/長袖+薄手のジャケット/スウェット")
  45.         elif feeling=="寒い" and 7<temperature<12:
  46.             print("厚手のセーター/冬物のコート")
  47.         elif feeling=="暑い" and 7<temperature<12:
  48.             print("薄手のニット/トレンチコート/ダウンベスト")
  49.         elif feeling=="寒い" and 6<temperature<8:
  50.             print("厚手のセーター/冬物コート/ブーツやタイツ")
  51.         elif feeling=="暑い" and 6<temperature<8:
  52.             print("厚手のニット/トレンチコート")
  53.         elif feeling=="寒い" and temperature<5:
  54.             print("ダウンコート/ブーツ、マフラーや手袋/カイロ")
  55.         elif feeling=="暑い" and temperature<5:
  56.             print("厚手のセーター/冬物コート/ブーツやタイツ")
  57.         else:
  58.             print("今のままでok!")#取得した温度とその温度をどう感じるかによって提案してくれる洋服やアイテムの種類を変えている
  59.     
  60.     else:
  61.         print("気温の取得に失敗しました。")
  62. if __name__ == "__main__":
  63.     main()

<説明>

自分が知りたい県や市を入力すると、その場所の現在の気温を表示します。
その気温について、どのように感じているかを「暑い」「寒い」「ちょうどいい」の中から選択するとどのような洋服やアイテムを身につけるといいかを提案します。
提案する洋服やアイテムは株式会社デサントの「気温に合わせた服装選びのポイントは?おすすめアイテムやコーディネート例を紹介」を参考にしました。
「寒い」と記入した場合は表示温度より一つ下の項目のアイテムを、「暑い」と記入した場合は表示温度より一つ上の項目のアイテムを提案するようにしました。
できれば、表示アイテムを使ったコーデなどをネットやSNSから引用し表示させるところまでプログラミングできればよかったなと思いました。

<参考サイト>

Pythonに日々の服装(ジャージ)を選択させる(@Kent_recuca(Kento Sato))
・チャットGTP(質問内容:外部サイトから気温の情報を取得する方法)