マガジンのカバー画像

Python

62
運営しているクリエイター

記事一覧

Python 巨大数の限界 6億 4645万 6994桁の世界

Python 巨大数の限界 6億 4645万 6994桁の世界

前にこんな記事を書いた。

そこでは Python が実に巨大な数値をいとも簡単に扱ったのである。それはそれでオドロキなんであるが、ならばどれだけ大きな数値まで可能なんだろうと、そんなことが気になる。なので、チャレンジしてみた。Pythonの巨大数の限界に。

ソースコードコメントも入れてるんだけど、ちょっと解説しておく。

2のx乗を計算していく。

xも2倍、2倍、・・・で増やしていく。

もっとみる
京大Python教科書 演習6-4、6-5

京大Python教科書 演習6-4、6-5


演習 6-4 エラーを体験する(2)コードはこれ。

% cat p6_4.py# x の平方根を求めるx = 2#rnew = x#for i in range(10); r1 = rnew r2 = x/r1 rnew = (r1 + r2)/2print(r1, rnew, r2)%

for i in range(10);

ここの末尾を「:」でなく「;」に変えた。

もっとみる
素数と戯れる いやもつれる? いやいや組んず解れつ?

素数と戯れる いやもつれる? いやいや組んず解れつ?

発端はこちら。

このクイズに答えようとしたわけである。
パターンはわかった。
だけど、そんな巨大な数値を計算できるのか?

というわけで試してみたんである。

Python Wiki 20 lines: Prime numbersまずは安易にこちらのPythonコードを利用した。

「20 lines: Prime numbers sieve w/fancy generators」のコードである

もっとみる
京大Python教科書 演習6-3

京大Python教科書 演習6-3


演習 6-3 イタズラんー、面倒だなぁ。
その前にちょっと補足しておく。

この部分ね。通常、外部出力には時間がかかる。モニタなんて当たり前についているからコンピューターの一部という感覚が強くて「外部」というイメージはあまりしないかもしれないけど、ケーブルを接続して出力してるのだから立派な「外部」である。外部のデバイスに出力するには時間がかかる。するとそこにはCPUの待ち時間が入るんである。CP

もっとみる
京大Python教科書 演習6-1、6-2

京大Python教科書 演習6-1、6-2


演習 6-1 平方根を求めるプログラムへの for 文の適用ソースコード

# x の平方根を求める x = 2 # rnew = x # for i in range(10): r1 = rnew r2 = x/r1 rnew = (r1 + r2)/2 print(r1, rnew, r2)

結果。

2 1.5 1.01.5 1.4166666666666665

もっとみる
京大Python教科書 演習5-1、5-2

京大Python教科書 演習5-1、5-2


演習 5-1 平方根の計算過程のリストへの保存「プログラム 5-1」というのはコレ。

#␣x␣の平方根を求める x␣=␣2 # rnew␣=␣x rnew_list = [rnew] # r1␣=␣rnew r2␣=␣x/r1 rnew␣=␣(r1␣+␣r2)/2 print(r1,␣rnew,␣r2) rnew_list.append(rnew) # r1␣=␣rnew r2␣=␣x/r1

もっとみる
京大Python教科書 演習4-1、4-2、4-3

京大Python教科書 演習4-1、4-2、4-3


演習 4-1平方根を求めるプログラムの作成と実行お。少しはプログラミングっぽくなってきた?
プログラムはコレ。

% cat p4_1.py# x の平方根を求めるx = 2#rnew = x#r1 = rnewr2 = x/r1rnew = (r1 + r2)/2print(r1, rnew, r2)#r1 = rnewr2 = x/r1rnew = (r1 + r2)/2print(r1,

もっとみる
京大Python教科書 演習3-1、3-2、3-3、3-4

京大Python教科書 演習3-1、3-2、3-3、3-4


演習 3-1 プログラムと楽譜え?
これって、楽譜の書き方を調べろと言ってます?

…………

検索しました。

なかなかわかりやすい記事でした(笑)。

演習 3-2 さまざまな変数名を利用する練習あ。「アンダースコア」って言うん?
「アンスコ」ッて「アンダースコア」の略やったんや。

それはともかく。

順番にやっていこう。

「p2-1.py」というのは、こんなんね。

これの変数名「a」

もっとみる
京大Python教科書 演習2-3、2-4、2-5

京大Python教科書 演習2-3、2-4、2-5


演習 2-3 p2-1.py の実行後の確認「p2-1.py」?
あ、教科書のちょっと前にあるコードね。そんでもって、前回の続きだから、ここもIDLEで実行ね。
まず「p2-1.py」を作らんとね。

メニュー「Run」から実行する。
「p2-1.py」に保存して。

実行された結果はこちら。

うん、できた。
「1+2」の結果「3」が表示されてるね。
ほんで? 

オッケー。

お。関数仕様が

もっとみる
京大Python教科書 演習2-1、2-2

京大Python教科書 演習2-1、2-2

では、第2章です。

演習 2-1 Pythonシェルで算術演算教科書には算術演算子が次のように紹介されている。

プログラミングにはこの他に論理演算子などもあるが、ここでは身近な算術演算子限定のようだ。
とりあえず、超基本から。

加算

>>> 12+1022>>>

減算

>>> 12-102>>>

乗算

>>> 12*10120>>>

除算

>>> 12/101.2>>>

もっとみる
京大Python教科書 演習でもやってみようかと思った・・・でも全然プログラムしてないんですけど

京大Python教科書 演習でもやってみようかと思った・・・でも全然プログラムしてないんですけど

京大のPython教科書に関する記事は4月以来放置状態である。その間何をしていたかというと、何にもしとりゃあせん。仕事が忙しかったり、本を読んどったり、なんとなく書くのが面倒だったりみたいな、いろいろ絡んでいただけかと思う。久しぶりに教科書を広げたら何をしていたのかも忘却の彼方という有り様であった。ならばと、演習を片付けていこうかと思ったわけで。

私のことだからまた途中放置して一からやり直して…

もっとみる
平方根を求める計算方法を変えてみたらバグっていたというお話

平方根を求める計算方法を変えてみたらバグっていたというお話

こちらの記事で Akioさんからバグを報告いただいた。

バグ報告というのは本当に有難い。
動かして確認してバグを見つけてくれる人なんてそんなにたくさんはいない。いつもいつも感謝です。

不具合内容不具合のあったコードの記事はこちら。

不具合の内容そのものは簡単である。

5の平方根を計算すると NoneType エラーが発生する

コードと実行結果を再掲してみる。

コード

def root

もっとみる
京大Python教科書 平方根を求める (私の)もっさりしたコードを書き換えてみる、そしてエラーと闘う

京大Python教科書 平方根を求める (私の)もっさりしたコードを書き換えてみる、そしてエラーと闘う

前回のつづき。
というか、京大のPythonはどこいった感。

前回の「もっさりしたコード」を書き換えてみようかと思う。

もっさりしたコードそもそも、その「もっさりしたコード」がどんなコードかというと、こんなコードである。

def root_digit(square, first, step): r = first for i in range(1, 10, 1):

もっとみる
京大Python教科書 平方根を求める 計算方法を変えてみた

京大Python教科書 平方根を求める 計算方法を変えてみた

前回の記事の続きである。

前回は、0.00000001を1億4142万1356回足し算して、2の平行根を探したわけである。これでもできないわけではないが、40秒もかかってしまう。
これは、あまりにも、あまりにも、長い!

というわけで別の案を考えた。

なんとなく、京大Python教科書はほったらかしの体だ。いつか戻ります(笑)。

こういうのはどうだろう2の平方根を探すにあたって、まず、1の位

もっとみる