みろりHP


緑色さんの多目的ブログ
みろりえいちぴー(旧)
引っ越し先 みろりHP: https://www.mrrhp.com
| カテゴリ:- |
スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | - | - |
| カテゴリ:みろりHP |
4時間くらいのツーリング


暖かくなってきたのでしばしばツーリングに出かけている。主に山のほうに行くのだけど、そうすると素敵な景色に出くわしたりして創作意欲が湧くやら心が締め付けられる快い感覚を覚える。それが好きで、暖かい時期には俺はよくツーリングに出かける。ガキのころはインドア気味のくせに休みのたび自転車で飛び回ったりしたものである。


おおよそいつもは目的地を定めて出掛けるんだけれど、今回はとくに目的地もなく田舎道をうろついてた話。


続きを読む >>
| 緑色 | みろりHP | comments(0) |
| カテゴリ:みろりHP |
青池へドライブ


先日、青森県白神山地西部は青池までドライブに行ってきたときの記録でも。例によって画像がいくつかあるので折りたたみ。


小旅行のたびにひとまず岩木山神社へお参りに寄るのも最早恒例。お気に入りの神社なのだ。


続きを読む >>
| 緑色 | みろりHP | comments(0) |
| カテゴリ:プログラミング |
Python GHS 辞書ツール


辞書のコンサルティング、辞書登録、項目削除ができるツールを作った。


辞書というかこれはブログとかに使う html のタグを登録するために作ったのである。


もともとそういうのは付箋にメモってコピペして使っていたんだけれど、やっぱりスペースをとって邪魔なのでね。それに、以前俺の PC を使っていた知り合いがシャットダウン前に「ぱそこんってしゃっとだうんする前に全部閉じないといけないんだよね♪」と付箋まで消してくれやがったことがあるので付箋使うのはやめようかと思って。 PC 音痴に自分のマシンをいじらせてはいけない。ダメ、絶対。

個人的にこいつのいいところは、辞書内容に改行を含められるところ。使いたい人がいればあげるので言ってくれ。


今回もいろいろ噛まれまくったが、とくに経験値になった事柄を書いとく。

# リアルタイム更新したい
def foo():
    ...
    self.after(msec, foo)
foo()

GCCSでエラい悩み、結局実現できなかった「数値を打ち込んだ端から他の数値が更新される」の正体がこれだった。 GCCS ではこれが分からなかったので、「エントリー内でエンターを押すと実行」というちとスマートさに欠ける設計になっちゃってた。

# コンボボックスの value をリアルタイム更新したい
def make_combobox()
    combobox = ttk.Combobox(parent, options).grid(row = 0)
    self.after(msec, make_combobox)
make_combobox()

Regi Mode のタブで登録した単語をすぐに Dict Mode のタブで引けるようにするためのコード。最初は Combobox() の中身だけをうまいこと更新しようとガンバってたんだけれど断念。しかし上のリアルタイム更新を使ってウィジェット自体を上書きし続けたらどうかということでやってみたら実現できた。ポイントは .pack() ではなく .grid() を使っているところか。ポイントというか .grid() でないとちゃんと動かないのだけど。


| 緑色 | プログラミング | comments(0) |
| カテゴリ:プログラミング |
Python GNPまわりを計算する関数


今日もやってまいりました、「1日1python」のお時間です。(ただし隔週放送)


あらかじめ生産量と価格のシーケンスを作っておけば、年を入力するだけでGNPまわりの計算をやってくれる関数。

name = ('goodsA', 'goodsB')
product2000 = (5, 10)
product2010 = (10, 20)
price2000 = (200, 100)
price2010 = (100, 50)
baseyear = '2000'

def nominalGNP(year): # 名目GNP
    productlist, pricelist = 'product' + str(year), 'price' + str(year)
    result = 0
    for foo in range(len(name)):
        result += eval(productlist)[foo] * eval(pricelist)[foo]
    return result

def realGNP(year): # 実質GNP
    productlist, pricelist = 'product' + str(year), 'price%s' % baseyear
    result = 0
    for foo in range(len(name)):
        result += eval(productlist)[foo] * eval(pricelist)[foo]
    return result

# GNPデフレーター(= 基準年に対するその年の物価の割合)
def GNPdeflator(year):
    return 1.0 * nominalGNP(year) / realGNP(year) * 100

# 消費者物価指数(= デフレーターと同様だが、
# あちらは「今年の買い物量で出費を比べる」
# こちらは「基準年の買い物量で出費を比べる」)
def CPI(year):
    pricelist, baseproductlist = 'price' + str(year), 'product%s' % baseyear
    a = 0
    for foo in range(len(name)):
        a += eval(pricelist)[foo] * eval(baseproductlist)[foo]
    return 1.0 * a / nominalGNP(baseyear) * 100

まあその、経済の入門本を読んでいてGNPデフレーターとCPIの違いがサッパリワケワカメで気晴らしがしたくて書いたんですね実は。


今回の噛まれポイントとその解決法。

# 噛まれポイント1
list1 = [...]
def foo(number):
    LIST = 'list' + str(number)
    return LIST[0]

これで foo() を実行しても list1 の内容は返してくれない。文字列を変数化する場合は eval() 関数を使う。この場合ならば eval(LIST)[0] でオーケイ。

# 噛まれポイント2
print 1 / 2

これは0になる。……いやその、こうして見ると当然なんだけど、式の要素が実数じゃなくて変数だったりすると案外ドツボっちゃったりするのだよ。ここで0.5と表示したい場合はどちらかを float() で括るか、あらかじめ 1.0 を掛けておけばよい。今回は後者を用いた。


| 緑色 | プログラミング | comments(0) |
| カテゴリ:プログラミング |
Python 擬似色違い孵化 および 二度目は実行されない関数


国際孵化やひかおま等の条件を設定して実行すると、何個目で色違いが生まれるか教えてくれる色違い孵化再現スクリプトを書いた。これで、色違い孵化してみたいけど準備とか面倒だしなあって人も色違い孵化やった気分になって「○○個目でようやく出たぜ」って話題に乗れるようになるぜ!!


うん、「また」クソの役にも立たないスクリプトなんだ。済まない。


タマゴボタンで実行する関数は「結果表示とイーブイ画像表示」なんだけど、それだとボタンを押すたびにイーブイが何匹も表示されてしまう。うっとうしいのでボタン押すと「結果は表示されるけど二回目以降は画像はいじらない」ようにしたい。普通の変数を使うとグローバル変数ローカル変数の兼ね合いでうまくゆかないのだが、 Tkinter.IntVar() で実現できた。

# 2回目以降は一部実行されない関数    
a = Tkinter.IntVar()
a.set(0)
def foo():
    {結果を更新する}
    if a.get() < 1:
        {画像を表示する}
    a.set(1)

IntVar といい StringVar といい便利すぎる。グローバルとかローカルとかぶち破ってくれる便利屋さんである。



実は、もともとはこんなツールだった。ラジオボタンの練習として、最近遊んでいるエルミナージュゴシックの BP 生成を再現してみるスクリプト。結構簡単にできたんだけれど、つまらないのでなんかアホ要素を足してみたいということで冒頭みたいな感じになったとさ。


| 緑色 | プログラミング | comments(0) |
| カテゴリ:プログラミング |
Python GDR ダイスロールツール



TRPG 用のダイスロールツール作った。 GCCS と併せて TRPG がオフラインで遊べる。本当はスカイプに連動したツールが作りたかったのだけど、その、俺のレベルじゃまだキツそうなのでな…。


| 緑色 | プログラミング | comments(0) |
| カテゴリ:プログラミング |
Python GCCS CoC キャラクターシート作成ツール


クトゥルフ神話 TRPG のキャラメイクをチョッパヤで行うツールを書いたので公開する。
機能は
    ステータスランダム作成(手動も可能)
    テキスト出力
    簡易ダイスロール
    とかそのへん




先回までのアホコードと違って700行くらいの規模になってしまった。こんなに長くなるものなのかねえ。たぶん一部をモジュール化したりして数ファイルに分けたりなんやかんやしたりするんだろうけれどまだよくわからん。
Python はじめて数週間、今の段階で書けるものはほとんど全部詰め込んだので集大成感ある。


| 緑色 | プログラミング | comments(0) |
     12
3456789
10111213141516
17181920212223
24252627282930
31      
<< May 2015 >>
+ みろりHP内検索
+ 閲覧記事
+ 過去記事アーカイブ
+ 年月選択
  • 2019年 02月 (1)
  • 2019年 01月 (2)
  • 2018年 12月 (6)
  • 2018年 11月 (6)
  • 2018年 10月 (3)
  • 2018年 09月 (8)
  • 2018年 08月 (4)
  • 2018年 07月 (6)
  • 2018年 06月 (5)
  • 2018年 05月 (4)
  • 2018年 04月 (7)
  • 2018年 03月 (6)
  • 2018年 02月 (6)
  • 2018年 01月 (8)
  • 2017年 12月 (9)
  • 2017年 11月 (9)
  • 2017年 10月 (4)
  • 2017年 09月 (6)
  • 2017年 08月 (6)
  • 2017年 07月 (8)
  • 2017年 06月 (4)
  • 2017年 05月 (7)
  • 2017年 04月 (8)
  • 2017年 03月 (7)
  • 2017年 02月 (10)
  • 2017年 01月 (6)
  • 2016年 12月 (8)
  • 2016年 11月 (8)
  • 2016年 10月 (5)
  • 2016年 09月 (5)
  • 2016年 08月 (7)
  • 2016年 07月 (9)
  • 2016年 06月 (6)
  • 2016年 05月 (8)
  • 2016年 04月 (10)
  • 2016年 03月 (10)
  • 2016年 02月 (8)
  • 2016年 01月 (10)
  • 2015年 12月 (9)
  • 2015年 11月 (6)
  • 2015年 10月 (5)
  • 2015年 09月 (4)
  • 2015年 08月 (8)
  • 2015年 07月 (5)
  • 2015年 06月 (3)
  • 2015年 05月 (7)
  • 2015年 04月 (8)
  • 2015年 03月 (12)
  • 2015年 02月 (8)
  • 2015年 01月 (4)
  • 2014年 12月 (5)
  • 2014年 11月 (5)
  • 2014年 10月 (7)
  • 2014年 09月 (4)
  • 2014年 08月 (7)
  • 2014年 07月 (6)
  • 2014年 06月 (4)
  • 2014年 05月 (12)
  • 2014年 04月 (9)
  • 2014年 03月 (6)
  • 2014年 02月 (6)
  • 2014年 01月 (8)
  • 2013年 12月 (7)
  • 2013年 11月 (10)
  • 2013年 10月 (10)
  • 2013年 09月 (9)
  • 2013年 08月 (11)
  • 2013年 07月 (10)
  • 2013年 06月 (9)
  • 2013年 05月 (15)
  • 2013年 04月 (11)
  • 2013年 03月 (5)
  • 2013年 02月 (7)
  • 2013年 01月 (6)
  • 2012年 12月 (9)
  • 2012年 11月 (10)
  • 2012年 10月 (10)
  • 2012年 09月 (4)
  • 2012年 08月 (2)
  • 2012年 07月 (7)
  • 2012年 06月 (13)
  • 2012年 05月 (13)
  • 2012年 04月 (15)
  • 2012年 03月 (4)
  • 2012年 02月 (12)
  • 2012年 01月 (9)
  • 2011年 12月 (5)
  • 2011年 11月 (13)
  • 2011年 10月 (2)
  • 2011年 09月 (2)
  • 2011年 08月 (1)
  • 2011年 06月 (1)
  • 2011年 05月 (4)
  • 2011年 04月 (10)
  • 2011年 03月 (8)
  • 2011年 02月 (11)
  • 2011年 01月 (14)
  • 2010年 12月 (14)
  • 2010年 11月 (17)
  • 2010年 10月 (17)
  • 2010年 09月 (19)
  • 2010年 08月 (22)
  • 2010年 07月 (18)
  • 2010年 06月 (16)
  • 2010年 05月 (19)
  • 2010年 04月 (15)
  • 2010年 03月 (22)
  • 2010年 02月 (18)
  • 2010年 01月 (18)
  • 2009年 06月 (2)
  • 2007年 12月 (10)
  • 2007年 11月 (7)
  • 2007年 10月 (9)
  • 2007年 09月 (4)
  • 2007年 07月 (5)
  • 2007年 06月 (11)
  • 2007年 05月 (6)
  • 2007年 04月 (4)
  • 2007年 03月 (1)
  • 2006年 01月 (21)
  • + カテゴリ
    + ブックマーク
    + 最近のコメント
    + アクセスカウンター
    全体(since 2010.02.03.)
    今日… 昨日…