« 畑の風景、、今年は大豆 | トップページ | Nokia 携帯電話のPythonスクリプトで写真撮影 »

2014年9月 2日 (火)

Python: PyStnWeather_J をV_003_3(および V_003_3a) に更新した

2014-09-02(火)晴れ

  PyStnWeather_J をV_003_3(および V_003_3a) に更新しました。以前から、気になっていたのですが、月末日に、待ち受け画面の天気予報表示がおかしいのに気がつきました。次の一日の天気予報が表示されないのです(月末日が2行表示される)。

Ssce0512a  Ssce0514a
 左が更新前です。月末日が2行表示されています。右は対策後です。

 WEBからダウンロードするデータや、処理途中のデータのトレースを眺めて解析して、原因を突き止めました。分かった原因は簡単でした。WEBデータから取りだした日付数字と、変数に入れた本日数字を比較しているのですが、数値と文字列の比較になっていました。即ち、1と31はどちらが大きいか、、という問題です。

  期待した処理は 1 < 31 ですが、実際は下のようになっていました。
   1(文字) > 31(数値) 他の場所は正しい処理にしていたのに、1カ所だけ間違っていました。月末日でないと現れないので気がつくのが遅れました。

ということで、変更点は、以下の通りです。
 ・月末の日に、次の1日のデータが待ち受け画面に正しく表示されない件を対策
  した。

モジュールは、例によって 「Python スクリプト 雑記」 の
  「19.3 j-walker 天気予報版」 に載せました。

 

|

« 畑の風景、、今年は大豆 | トップページ | Nokia 携帯電話のPythonスクリプトで写真撮影 »

Python」カテゴリの記事

アプリケーション」カテゴリの記事

携帯電話」カテゴリの記事

コメント

表計算の並べ替えや抽出や集計でも文字になってる数字と数値になってる数字が混ざってると面倒なことになるです
他の人々にフォーマットを渡して各自のデータを入力してもらって集めると不統一になってることがよくある
今や手元にないので記憶モードだがExcelの例だと「文字になってる数字を数値に変える関数」で対応してたような気がする
[594]

投稿: 伍玖肆 | 2014年9月 3日 (水) 08時26分

こんにちは!
私も少し変に感じることがありましたが、サーバーの問題かなと思っていました。9月末に確認できますね。

投稿: mmatsui | 2014年9月 3日 (水) 13時27分

伍玖肆さん、
画面上とかでみると、(数字の1も文字列の1も)一見同じように見える事が多いから、うっかりしてしまうんですよね。
Pythonでも、基本通り整数変換関数を通すことを忘れなければ問題ないんですが、、。

投稿: masa | 2014年9月 4日 (木) 10時00分

mmatsui さん、
j-walker版で必要になったルーチンでのバグでした。入れ替えのお手数をおかけします。

投稿: masa | 2014年9月 4日 (木) 10時04分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/513620/60250069

この記事へのトラックバック一覧です: Python: PyStnWeather_J をV_003_3(および V_003_3a) に更新した:

« 畑の風景、、今年は大豆 | トップページ | Nokia 携帯電話のPythonスクリプトで写真撮影 »