質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

PyCharm

エディター・開発ツール

Q&A

0回答

226閲覧

天気の情報を取得するプログラムについて

Aoi123

総合スコア8

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

PyCharm

エディター・開発ツール

0グッド

0クリップ

投稿2018/09/03 01:58

本を見て下記のような天気の情報を取得するプログラムを書いてるのですが

python

1import requests 2 3 4def weather_command(): 5 base_url = 'http://weather.livedoor.com/forecast/webservice/json/v1' 6 city_code = '130010' 7 url = '{}?city={}'.format(base_url, city_code) 8 r = requests.get(url) 9 weather_data = r.json() 10 city = weather_data['location']['city'] 11 label = weather_data['forecasts'][0]['dateLabel'] 12 telop = weather_data['forecasts'][0]['telop'] 13 14 response = '{}ノ{}ノ天気ハ{}デス'.format(city, label, telop) 15 return response 16 17command = input("> ") 18response = "" 19 20if '天気' in command: 21 response = weather_command() 22 23print(response) 24```以下エラー文 25Traceback (most recent call last): 26File "pybot_weather.py", line 45, in <module> 27response = weather_command() 28File "pybot_weather.py", line 11, in weather_command 29label = weather_data['forecasts'][0]['dateLabel'] 30IndexError: list index out of range 31 32となってしまいます. 何回か見直しても本のサンプルコードと同じになっていますし, livedoorのAPIのページを確認しましたが, 33 weather_data['forecasts'][0]['dateLabel'] 34の書き方はまちがっていないとおもうのですが... 35なにがだめなのかさっぱりです 教えてもらえるとうれしいです 36よろしくおねがいします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_obara

2018/09/03 02:27

そのような場合、weather_dataのみで内容を確認、weather_data['forecasts']で内容を確認、、など個々に確認してみてはいかがですか?
otn

2018/09/03 02:30

rの内容は見てますか?
Udomomo

2018/09/03 02:30

そのコードで正しく動作しました。データが取れていなかった可能性もあるので、もう一度試してみてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問