Pythonでinfinityを使う
Pythonでinfinityを扱う方法が気になったので調べた。そのメモ。
>>> n = float('inf') >>> n inf >>> m = float('-inf') >>> m -inf
文字列'inf'を変換すれば得られる。
環境変数Pathの要素を1つ削除するスクリプト
前回Pathに追記するスクリプトを書いたので今回は要素を1つ削除するスクリプトを書いてみた。
大まかな流れとしては、
今Pathに登録されている要素を、番号を付けてすべて表示 ↓ 数字を入力する 要素に対応しない数字や文字を入力するとキャンセルされる ↓ 入力された数字に対応する要素を削除
といった感じ。
$list[入力した数字]以外の$listにある要素を、セミコロンを足しながらすべて結合してsetxで登録する。
使用例としてはこんな感じ。
PS D:\> RemovePath ------------------------------------------------------------ 0 C:\Program Files\Microsoft Visual Studio 10.0\VC\bin 1 C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE 2 C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin ------------------------------------------------------------ input number:1 成功: 指定した値は保存されました。
ちなみに、これを実行した後、今開いているPowerShellを再起動しないと変更が反映されない。
なので、
$env:Path -= "消す要素"
をスクリプトに追加すると再起動しなくても済むようになるかもしれない。
これも前回同様もし使う場合は自己責任でお願いします。
環境変数(Path)に追記するスクリプト
PowerShellからユーザー環境変数Pathに追記するスクリプトを書いてみた。プロファイルに書き加えたかったので関数にした。
使い方
addpath 追加したいパス
成功すると
path length: (元からあったPathの長さ) + (今追記したPathの長さ) 成功: 指定した値は保存されました。
みたいな感じになる。
ユーザー環境変数Pathの値を取得して引数とくっつけてsetx*1で登録する。
setxはなぜか1024字より大きい値を登録しようとすると1024字に切り捨ててしまうので注意。
もしこれを使う場合は自己責任でお願いします。
環境変数(Path)をほんのちょっとだけ見やすくする
コントロールパネルから環境変数を編集するとき、編集ウィンドウがアレすぎて見づらいことこの上ない。特にPathなんかはたくさん通すと編集するのがツラくてしょうがない。
PowerShell上では少し見やすくはなるけれども、一つの変数に対して値が改行なしで出力されるのでまだ少し見づらい。
ということで、ここではPathについて
$env:Path.split(";")
とやるとセミコロンで改行して出力することができる。
$env:Pathで登録されているPathが文字列として返ってくるので、それをsplit(";")でセミコロンで区切る。最終的には配列を返す。
配列の表示は1要素1行なので問題ない。たぶん。
また、プロファイルに
function ViewPath{ return $env:Path.split(";") }
のように関数として書いてもいいかもしれない。
移流方程式とかCIP法とかのメモ
Tkinterで簡易アニメ
Tkinterでグラフのアニメーションをやってみたい、ということでとりあえずアニメーションだけやってみた。
これを実行すると、円が画面左端から右に向かってずずずっと動いていくアニメーションが表示される。
0.1秒間隔でupdateを行うことで再描画する。sleepを入れないとものすごい速さで描画が終わってしまう。また、新たに円を作る前にdeleteで前の円を消さないと、すべての円が表示されてしまう。こんな感じ。
create_ovalで円を作る際、タグを設定することができる。複数の図形に対しても同じタグを設定することができるので、deleteするときにそのタグを指定してやるとまとめて図形を消すことができる。
if文の中にdeleteを入れているのはループが最後まで回った後に図形を消さないようにするため。
終了するときは×ボタンで。
画面全体を消去ってできないのかしら……