Nokiaに関係ある事ない事をつらつらと。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
705NKでプログラミング その7
前回はバイト数からパケット数とパケット料金を計算する簡単なスクリプトを書いてみました。この前のスクリプトは、パケット割引が一切無い場合の料金計算でしたので、バイト数からパケット数を算出し、パケット数に単価を掛け合わせるという極めて単純な作業でした。今回はちょっと複雑にして、ソフトバンクの標準的なパケット定額オプションである「パケットし放題」を計算するスクリプトを作ってみようと思います。

ところで「パケットし放題」はどんなオプションなのか、簡単に見てみます。まず、月のパケット使用量が12250pktを下回る場合は定額980円となります。また、パケット使用量が52500pktを超える場合は、定額4200円となります。この定額間の間、12250pktから52500pktの場合、0.08円/1パケットの従量制となります。ちなみにこれは「Yahoo!ケータイ」を見る時などに使う普通の携帯用ブラウザでネット接続接続した場合の料金体系で、俗に言う「フルブラウザ」などPCのサイトを直接見ることができるブラウザでネット接続した場合は上限が5700円、さらにXシリーズなどでネット接続する場合は上限が9800円となります。蛇足ながら、Nokia携帯は「ブラウザ」でネット接続する場合のみ定額の対象となり、それ以外のネット接続(俗に言うAI接続)は対象外、つまり「0.2円/1パケットの青天井」となります。少々値段は高くなっても良いので、AI接続も定額対象に含めてくれれば嬉しいんですが…。

と話が脱線してしまいましたが、ともかく「パケットし放題」を計算するスクリプトを書いてみたいと思います。
では早速スクリプトを。と言っても前回とあまり変わったところはありません。

import appuifw

data = appuifw.query(unicode("データ送受信量(KB)","utf-8"), "number")

packet = data * 1024 / 128

if packet <= 12250:
     charge = 980
elif packet >= 52500:
     charge = 4200
else:
     charge = packet * 0.08

appuifw.query(unicode("パケット数:","utf-8") + "¥n"
+ str(packet) + "pkt" + "¥n"
+ unicode("パケット料金:","utf-8") + "¥n"
+ str(int(charge)) + unicode("円","utf-8"), "query")


大きく変わったところと言えば、パケット料金計算のところですね。今回は定額の部分があるので単純に掛け算することが出来ません。そこで、ifを使った制御文でこの料金体系を表現することにします。

Python以外にもプログラム言語やスクリプト言語を使ったことがある方ならばそれほど難しくは無いと思います。要は「パケットが12250pkt以下」「パケットが12250pktから上、52500pktより下」「パケットが52500pkt以上」の3つに条件を分け、それぞれの条件に合わせて「charge」を決定するだけです。ここでPython特有の表現が「elif」です。多くのプログラム言語ではこのような複数分岐の場合「else if」という表現を使うことが多いのですが、pythonでは「elif」という1語で表現できてしまいます。ともかく、これで「パケットし放題」の料金体系が出来上がりです。では早速実機にスクリプトをコピーして試してみましょう。

nokimani071031_001.jpg

まずは1.5MBで計算させてみると

nokimani071031_002.jpg

下の定額範囲内ですね。

nokimani071031_003.jpg

バイト数を2MBにすると

nokimani071031_004.jpg

従量制の範囲ですので、0.08円を掛けた金額になります。

nokimani071031_005.jpg

それでは10MBにするとどうでしょう?

nokimani071031_006.jpg

上の定額条件に掛かるので、再び定額になります。

こんな感じで、ちょっと複雑な計算も、if制御文を使って条件分けをしてあげれば比較的簡単に算出することが可能になります。
スポンサーサイト

テーマ:Nokia - ジャンル:携帯電話・PHS

コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。