知りたいこと
以下のプログラムは自分の意図したとおりに動くのですが、なぜかエラーが二つ検出されており、何が問題で何が原因で発生しているか知りたいです。
エラーが発生しているプログラム
エラーが発生しているプログラムの動作説明として、以下となります。
- openweatheAPIから3時間ごとの天気データを取得する
- 取得したデータから
予報日時
天気
気温
体感温度
の要素をリスト格納する - リストに格納した内容ををtkinterで表示していく
ソースコードは以下となります。
エラーは発生していますが、意図したとおりの動作が実行できています。
Python
1import tkinter 2import requests 3import json 4 5#APIからjsonデータを取得 6def getJsonData(): 7 #天気APIにアクセス 8 API_KEY = "a2814360a66593c442145787f66be075" 9 city_ID = "1850147" 10 api = "http://api.openweathermap.org/data/2.5/forecast?units=metric&id={cityID}&APPID={key}&lang=ja" 11 url = api.format(cityID = city_ID, key = API_KEY) 12 print(url) 13 #requestsでAPIからjsonデータを取得 14 req = requests.get(url) 15 #取得したデータをjsonにパース 16 data= req.json() 17 print(data["list"][1]["dt_txt"]) 18 return data 19 20#予報日取得 21def getDate(data): 22 Dates = [] 23 for jsonDatas in data["list"]: 24 Dates.append(jsonDatas["dt_txt"]) 25 return Dates 26 27#天気データを取得 28def getWeather(data): 29 weathers = [] 30 for jsonDatas in data["list"]: 31 weathers.append(jsonDatas["weather"][0]["description"]) 32 return weathers 33 34#気温データを取得 35def getTempture(data): 36 temptures = [] 37 for jsonDatas in data["list"]: 38 temptures.append(jsonDatas["main"]["temp"]) 39 return temptures 40 41#体感温度データを取得 42def getFeelsTemp(data): 43 feelsTemptures = [] 44 for jsonDatas in data["list"]: 45 feelsTemptures.append(jsonDatas["main"]["feels_like"]) 46 return feelsTemptures 47 48#APIデータを取得 49data = getJsonData() 50 51# Tkクラス生成 52frm = tkinter.Tk() 53# 画面サイズ 54frm.geometry('200x600') 55# 画面タイトル 56frm.title('明日の天気') 57 58for dispDatas in list(zip( getDate(data), getWeather(data), getTempture(data), getFeelsTemp(data) )): 59 feelstemp = tkinter.Label(frm, text="日付:" + dispDatas[0]) 60 feelstemp.pack(side="top") 61 62 weather = tkinter.Label(frm, text="天気:" + dispDatas[1], fg="black",bg="white") 63 weather.pack(side="top") 64 65 tempture = tkinter.Label(frm, text="気温:" + str(dispDatas[2])) 66 tempture.pack(side="top") 67 68 feelstemp = tkinter.Label(frm, text="体感温度:" + str(dispDatas[3])) 69 feelstemp.pack(side="top") 70 71# 画面をそのまま表示し続ける 72frm.mainloop() 73
#発生しているエラー(質問したい部分)
ここからが質問したい部分で、上記ソースコード上で以下の問題が発生しております。
builtins.pyi SyntaxError: non-default argument follows default argument SyntaxError: non-default argument follows default argument
builtins.pyiを確認すると、以下の部分でエラーが発生しておりました
if sys.version_info >= (3,): @overload def max(__arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], Any] = ...) -> _T: ... @overload def max(__iterable: Iterable[_T], *, key: Callable[[_T], Any] = ...) -> _T: ... @overload #ココでエラー def max(__iterable: Iterable[_T], *, key: Callable[[_T], Any] = ..., default: _VT) -> Union[_T, _VT]: ... else: @overload def max(__arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], Any] = ...) -> _T: ... @overload def max(__iterable: Iterable[_T], *, key: Callable[[_T], Any] = ...) -> _T: ... if sys.version_info >= (3,): @overload def min(__arg1: _T, __arg2: _T, *_args: _T, key: Callable[[_T], Any] = ...) -> _T: ... @overload def min(__iterable: Iterable[_T], *, key: Callable[[_T], Any] = ...) -> _T: ... @overload #ココでエラー def min(__iterable: Iterable[_T], *, key: Callable[[_T], Any] = ..., default: _VT) -> Union[_T, _VT]: ...
上記の何が問題で、原因は何なのかという2点について教えていただきたいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。