python で最大公約数
組み込み関数に用意されているのですが、最初なので自分で作ってみました。なんとか、うまく動くようになった。
#最大公約数を計算するプログラム
from operator import mul
from functools import reduce
def gcf():
num1 = input('好きな数字を入力してください:')
num2 = input('もう一つ好きな数字を入力してください:')
x = int(num1)
y = int(num2)
gcf_factors = []
gcf_factor = 2
if x <= y:
while gcf_factor <= x :
if x % gcf_factor == 0 and y % gcf_factor == 0 :
gcf_factors.append(gcf_factor)
x = x / gcf_factor
y = y / gcf_factor
else:
gcf_factor += 1
if len(gcf_factors) == 0:
print('{0}と{1}の最大公約数は'.format(num1,num2))
print(1)
else:
print('{0}と{1}の最大公約数は'.format(num1,num2))
print(reduce(mul, gcf_factors))
print(gcf_factors)
else:
while gcf_factor <= y :
if x % gcf_factor == 0 and y % gcf_factor == 0 :
gcf_factors.append(gcf_factor)
x = x / gcf_factor
y = y / gcf_factor
else:
gcf_factor += 1
if len(gcf_factors) == 0:
print('{0}と{1}の最大公約数は'.format(num1,num2))
print(1)
else:
print('{0}と{1}の最大公約数は'.format(num1,num2))
print(reduce(mul, gcf_factors))
print(gcf_factors)
gcf()
pythonで素因数分解
繰り返し処理のところを、for ◯◯ in range( )にすべきなのか、while を使うべきかよくわからずに試行錯誤。プログラムを何度も走らせながら手直しして、ようやく正しく動きそうなものができた。
#素因数分解するプログラム
n = input('好きな数字を入力してください:')
num = int(n)
factors = [ ]
factor = 2
while factor <= num:
if num % factor == 0:
factors.append(factor)
num = num // factor
else:
factor = factor + 1
print('{}の素因数は'.format(n))
print(factors)
ちなみに、1,234,567,898,765を分解すると、5 × 41 × 25,343 × 237,631
コンピュータの演算能力ってのは凄いもんだねぇ。1兆の桁までは一瞬のうちに答えを算出してくれた。でも、調子に乗ってもう一桁増やしたら、30分計算してもまだ答えが出てこない。
次は、最大公約数を計算させてみようか。
スラスラわかるPython
ProgateのPythonコースを終え、次に何しようかと考えた末に手に取ったのがこの本。
第1章から順番に解説を読んで、事例のプログラムを自分でもその通りに打ち込んで実際に動くかどうか確認して進めて行く。解説が丁寧で、問題の回答もあるので、内容について意味がわからずに困ることはなかった。タイトル通りスラスラわかる。コードの打ち間違いやプログラムのファイルをどうやって読み込ませるかがわからないなど、本論とずれたところで苦労した。ほぼ写経に近いんだけれど、なんとか一冊やりきった。少しは前進したような手応えと充実感。
簡単なスクレイピングと、csvファイルへデータを出力する方法がわかったので、ネット上のデータをエクセルで扱える形で取り込んで見ようと思う。
で、次はどうしようか。
湘南新宿ライン
出張で栃木県の宇都宮に行くたことになり、大崎から湘南新宿ラインの宇都宮行き快速に乗った。
17時ごろ、大崎で乗ったときには満員で座れない。海に行ってきたような家族連れが何組か乗っている。恵比寿ではニッカボッカにペンキの染みをつけた仕事帰りの塗装屋さんらしきお兄さんが二人乗ってきた。新宿で半分くらいの人が降りたので運良く座れたが、また同じくらいの人が乗り込んできた。池袋、赤羽、大宮で人は入れ替わるが常に立っている人がいる。
とある東京の企業の方は、毎日宇都宮から恵比寿まで湘南新宿ラインで通っていると言っていたけれど、毎日往復4時間も混んだ電車で過ごすのは大変だわ。グリーン車に乗ったとしても疲れる。
塗装屋のお兄さん、一人は赤羽で降りたけれど、もう一人は小山で慌てて飛び起きて下車した。多分熟睡して乗り過ごしたのだろう。
新薬の狩人たち 成功率0.1%の探求
新薬を作り出すということについて、どうも大きな誤解をしていたようだ。
太古から人は、植物の葉や根っこなどを手当たり次第に口にして、病気に効く薬を探し求めてきた。それこそ長い年月をかけての試行錯誤、当てずっぽうで自分の体を実験台にして偶々見つけてきた。
しかし、19世紀になって化学の技術の発展したことにより、新薬開発の手法や方向性については、一定の見取り図というか進むべき方法を示す地図のようなものがあって、それに沿って製薬メーカーは開発しているのかと思っていた。
確かに目的とする物質がはっきりと分かれば、それを効率良く製造することは可能になったが、そもそも、どんな物質がどの病気に効くのか、どんな成分が体のどんな働きに作用して効いているのか、わからないことがあるのだ。今も膨大な化学物質から有効な物質を探索しなければならないし、特効薬と言われるような薬は偶然に見つかることも多いらしい。著者はそれをヒットする映画の制作にたとえている。決まり切った手法を採用するれば必ず大ヒットする新薬でできるわけでないのだ。
植物由来の薬として、モルヒネ、ヘロイン、エーテル、キニーネ、合成化合物としてアスピリン、梅毒の特効薬サルバルサン、細菌由来のペニシリンやストレプトマイシン、動物由来のインシュリンや経口避妊薬、大いなる勘違いが発見につながった、壊血病治療に効くビタミンCや、向精神薬、抗うつ病薬。これらの画期的な薬が製品化されるまでの物語が綴られる。
著者は製薬メーカーで経験を積んだドラッグハンター。会社の方針に逆らってでも製品化に向けて研究を続けるため、自分が飲んで副作用がないか試してみるなど、自身の経験を交えて語られるので話に迫力がある。年々膨れ上がる巨額の開発費を回収することを考えると、抗生物質やワクチンなど、一度服用すると病気が治ってしまったり、病気を予防する薬は儲からないので、メーカーは製造からどんどん撤退し、血圧の薬など患者さんがずっと飲み続けなければいけない薬は儲かるので開発費が優先的に割り当てられる。こんな話も織り交ぜながら薬の歴史が語られる。
読み物として大変面白い。薬好きの方も薬嫌いな方もどうぞ。
仏教思想のゼロポイント 「悟り」とは何か
そもそも釈尊は何を経験し、何を語ったのか。釈尊が伝えようとしたことは何なのか。仏教の根っこに迫る。
釈尊は、涅槃を経験し(=悟る)、人々にその涅槃に至るための方法を説いた。涅槃とは何か?一切皆苦の生から離脱すること。苦とは何か。欲しいものが手に入らない、嫌なことでもやらなければならない、つまり自分の思い通りにならない不満足な状態。では、苦から離脱するためにはどうすればいいのか。目、耳、鼻、舌、皮膚、意識から入ってくる、視覚、聴覚、臭覚、味覚、触覚、思考を制御して、これらの感覚を得て引き起こされる無意識の思考の癖から離れるのだ。感じたことに対して、もっと欲しい、とか、なんか嫌だとか価値判断をしてしまうことを止めて、自分が今感じていることに意識を集中する。
釈尊は、涅槃とは何か、どうすれば苦を滅却し涅槃に至ることができるのかについて言葉を尽くして語っている。それは、あっけないほどシンプルで、実践的な内容だ。
原始仏典を読んでいると、同じような話が繰り返し脈絡なく何度も出てくるので、記憶には残るのが断片的な言葉の継ぎ接ぎになりがちです。釈尊の教え全体を体系立てて整理したい人にオススメの本です。
トレイルズ
著者は、アメリカのアパラチア山脈に沿って南北に縦貫する全長3,500Kmの自然歩道、アパラチアントレイルをワンシーズンで踏破する。
アパラチアントレイルの踏破をきっかけに、著者は「トレイル」、「道」は、近代の人々にとってなんなのか考える。近代以前のネイティブアメリカンやアボリジニにとっての道とはなんだったのか調べる。さらに、動物にとってのトレイル、獣道とは何か。アリや芋虫の通り道。古生物が移動することを始めた頃の、その通り道の化石をも調べる。
餌場や水場と自分の住処を結びつけるトレイルのネットワーク。それは、餌場や水場の場所の記憶を外在化したものであり、生きていく上で必要な情報処理システムだという。生き物が環境に働きかけてトレイルを作るとともに、生き物の行動は既存のトレイルによって規定される。
アリが、食べ物を見つけ出し、食べ物と巣の間の最短ルートを導き出す。そして、仲間の働き蟻全体に周知させる。それは、個別のアリが驚くほど単純なルールに従うことだけで、群れ全体の動きが最適化されるのだ。ゾウは、移動しやすいように木を踏み倒して、森を草原に変えてトレイルを作り、自分たちのトレイルの周りに餌になるような木のタネを撒いたりと環境を作り変えている。水場の記憶は代々受け継がれる。
トレイルという切り口ひとつで、これだけ面白い話を引き出せるとは。著者の広い見識に恐れ入りました。
人間ドック
人間ドックを受けてきた。大腸の内視鏡検査を受けるために今回は10年ぶりの一泊二日コースにした。一日目の午前に、身長、体重、血液検査、尿検査、視力、聴力、ブドウ糖負荷試験、超音波、X線検査をやって、昼食後に心電図。二日目の午前中に、胃と大腸の内視鏡検査。スケジュールに余裕があるので、空いた時間は、自分の部屋でのんびり。家の用事もせず仕事の電話もなく、エアコンの聞いた部屋で本を読んだり、ぼんやりテレビを見たりして、のんびり過ごせたのが何より。
内視鏡検査で大腸に小さなポリープが、超音波で膵臓にポリープが見つかったけれど、先生は、急いで何か処置しなければいけない訳でないとのこと。しばらく様子見てもいいらしい。心配なのは、γGTPの値が117になったこと。脂肪肝気味でもあり、お酒はかなり控えめにした方がいいとのこと。
これまでのγGTPの値はどうだったか気になったので、家に帰ってきて過去の健康診断の結果を確認してみた。2004年が87、2008年が67、2011年が80、去年2017年が47。去年は金沢マラソンの直前の検査で、マラソンのために1ヶ月くらいお酒はほとんど飲んでいなかったので数値が良かったのだろう。今年に入ってからは、ほぼ毎日飲んで、量も少しずつ増えていたので悪化したようだ。近頃はお酒を飲むと蕁麻疹が出て痒くなるので、やはり肝臓に負担がかかっているのだろう。
お酒を飲んだ翌日は体調もあまり良くないし、飲んだ翌日の気分の落ち込み具合もひどくなっているので、やっぱりお酒はあまり飲まないようにしようと思う。
バインミー
金沢市疋田にバインミーを食べさせるお店ができたと聞き、妻と娘を誘って早速行ってきた。バインミーはフランスパンに切れ目を入れ、そこにレバーペーストを塗ってハムや焼き豚、大根と人参のなます、パクチーを挟んだベトナムのサンドイッチだ。
バインミーは、20年前にサンノゼで、ベトナム人の同僚に誘われてよく買いに行った。フランスパンは車麩かと思うほどスカスカで軽くて、豚の耳が挟んであった。値段はひとつ1ドル。安い割にボリュームがあって食べ応えがあって好きだった。日本でも、記憶を頼りに、レバーペーストを買ってきて何回か作った。大根と人参のなますの味付けにニョクマムを使ってパクチーを混ぜると、何を挟んでもそれらしい味になる。
金沢のお店のバインミーは、パンもしっかり歯ごたえがあって、挟んであるチャーシューもたっぷりで食べ応えがある。味付けは少し上品。600円は少し高いかと思ったが、これなら納得だ。
Progate
3連休の初日に、Facebookの広告でたまたま見つけて、無料なので少しだけ試しにやってみるかと始めたところ、まんまとハマってしまった。オンラインでプログラミングが学べる、「Progate」というサイトです。
息子が中学生の時にしばらく勉強していたPythonを私もマスターしてみようと始めた。最初に説明のスライドを読んで、次にその内容をオンライン上でプログラム作成する。プログラムが正しいかどうかは随時コンソール上でプログラムを走らせることができるので確認できる。また、間違っている箇所を細かく教えてくれる。なんなら答え見ながら丸写しするだけでも勉強になる。
5つのコースに分かれているが、1コース目までは無料。2コースを始めたら、ここらは有料ですときた。途中でやめるのも癪なので、有料会員に登録して、二日間で5コースを終わらせた。自分のパソコンにPythonの開発環境を構築する方法も丁寧に教えてくれるので、これも試しにやって見た。意外と簡単だった。
ここまでやったからと言っても、役に立つプログラムをワシワシと書いて使えるようになったわけでないけれど、Pythonがどんな言語で、どういう風に使うのか、ざっくりしたところはわかったので、あとは自分で本などで勉強するつもりだ。
実は3年ほど前に、英語のオンラインでのプログラミング講座「Codecademy」をかじったことがある。それと比べると、日本語の説明というだけで非常にありがたい。自分の作ったプログラムの間違った部分の指摘も丁寧でわかりやすい。
ボディケア
酒飲むとジンマシンが出るし、走るとすぐに息苦しくなって楽しくないので、風呂にゆっくり浸かって、マッサージしてもらってきた。
鳴和の「和おんの湯」の露天風呂で1時間ぼけっとしてから、マッサージへ。ボディケアコース100分、全体をまんべんなく揉んでくださいとお願いする。足先から順番に揉み上げていく。普段自分では手が届かない部分ややったことない方向に伸ばされると気持ちいい。足腰、肩、首回りの全てで、左側が硬い、こわばっているようだ。同じ力で揉んでもらっても、左側が痛い。右は物足りないくらいだ。
最後の頭蓋骨ほぐしが気持ちいい。目がスッキリしたような気がする。
お風呂から帰って、午後はクーラーを効かせてYoutubeで落語を聞いて過ごす。
蕁麻疹
1ヶ月くらい前から、お酒を飲むと翌日に体が痒くなると感じていた。猫アレルギーの可能性もあると思っていたけれど、金曜日に職場の飲み会でお酒を飲んだら、土曜日に蕁麻疹が出たので多分アルコールが原因だと思う。
蕁麻疹は中学2年生から20歳くらいまで悩まされた。脂っこいもの食べたり、日光を浴びたり、冷たい空気に当たると、全身ブツブツになった。医者に通ったり食べ物に気をつけたりしたけれど、結局決め手はなし。でも大学卒業する頃にはいつしか発症しなくなり忘れていた。
睡眠不足や暴飲暴食が続くと年に1度くらい思い出したように発症していたけれど、今回のように普通にお酒を飲んで蕁麻疹が出るようになるのは初めて。
しばらくお酒を控えて食事にも気をつけることにする。