マガジンのカバー画像

Python

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

#プログラミング

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

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

こちらの記事で 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のテキストを読んでみる、プログラミングの学び方

タイトルに書いた
「京大が無償公開しているPythonのテキスト」
というのはこちらである。

読み始めたのは昨年11月頃。
私はどうも杓子定規なところがあって、こういうのはきっちり読み終わってから記事にしようなんて思ってしまう。だが、演習などを逐一やっていたりするとなんだかんだで長引いて、さらにその間にあっちによそ見したりこっちに寄り道したりでなかなか読み終わらない。なので、もう、途中経過でもな

もっとみる
note でエクスポートしたXMLをPythonで読みやすくしたい(その5)

note でエクスポートしたXMLをPythonで読みやすくしたい(その5)

さてさてさて。
こちらの続きです。

ほとんどデバッグの実況中継の様相を呈してきました(笑)。

(1)XMLファイルを読み込む
(2)読み込んだデータを木構造でアクセスする
(3)木構造の1Elementを1行で表示する
(4)noteのエクスポートファイルでテスト
(5)タグを置換
  item → details
  title → summary
  その他 → li

前回やったのはここ

もっとみる
note でエクスポートしたXMLをPythonで読みやすくしたい(その4)~XMLからhtmlへ~

note でエクスポートしたXMLをPythonで読みやすくしたい(その4)~XMLからhtmlへ~

さてさて。
こちらの続きです。

(1)XMLファイルを読み込む
(2)読み込んだデータを木構造でアクセスする
(3)木構造の1Elementを1行で表示する
(4)noteのエクスポートファイルでテスト

前回やったのはここまで。

今回は次のように置き換えてみます。

item → details
title → summary

タグ名をどうやって置き換えるのか。

if el.tag ==

もっとみる
note でエクスポートしたXMLをPythonで読みやすくしたい(その3)

note でエクスポートしたXMLをPythonで読みやすくしたい(その3)

再び。
こちらの続きです。

(1)XMLファイルを読み込む
(2)読み込んだデータを木構造でアクセスする
(3)木構造の1Elementを1行で表示する

前回やったのはここまで。

これまでは試験用のサンプルXMLファイル 'country_data.xml' でテストしてきました。今度はnoteでエクスポートしたXMLファイルでテストしてみます。

import xml.etree.Elem

もっとみる
note でエクスポートしたXMLをPythonで読みやすくしたい(その2)

note でエクスポートしたXMLをPythonで読みやすくしたい(その2)

さて。
こちらの続きです。

(1)XMLファイルを読み込む
(2)読み込んだデータを木構造でアクセスする

前回やったのはここまで。

今回は、木構造の中身のデータを表示してみようと思います。

「Element.tag」を表示する関数を用意するまず、「Element」を表示する関数を用意しておきます。ついでに、「Element」そのものを表示するのではなく、「Element.tag」を表示しま

もっとみる
note でエクスポートしたXMLをPythonで読みやすくしたい(その1)

note でエクスポートしたXMLをPythonで読みやすくしたい(その1)

前回、note の記事をエクスポートできるというお話しをしました。

note でエクスポートしたデータはXMLファイルであるためそのままでは読みにくい。なので「もうちょっとばかりよみやすくしたいなぁ」ということも書きました。PythonのチュートリアルにXMLファイルを扱うものがあったので参考にしつつ何かしていこうかと思います。

と言ってもゴールが見えているわけではありません。欲だけは果てしな

もっとみる
【Python】20 lines: Prime numbers sieve w/fancy generators ~ジェネレータ関数~

【Python】20 lines: Prime numbers sieve w/fancy generators ~ジェネレータ関数~

プログラム20行プログラムです。

import itertoolsdef iter_primes(): # an iterator of all numbers between 2 and +infinity numbers = itertools.count(2) # generate primes forever while True: # g

もっとみる
【Python】リスト内包表記のいろいろ

【Python】リスト内包表記のいろいろ

リスト内包表記について、書き方を忘れそうなので記録しておきます。

シンプルリスト[0, 1, 2, 3] のシンプルなリストを作成します。

inner1 はリスト内包表記。
init1 はリスト内包表記を使わずにリストを初期化したものです。
list1 は初期化リストを使って初期化。
どれも同じリストを作成します。

######################################

もっとみる
再帰呼出に挑戦 「Python 18 lines: 8-Queens Problem」より

再帰呼出に挑戦 「Python 18 lines: 8-Queens Problem」より

先日、Python の 18行プログラム「8-Queens Problem」を紹介しました。

この記事の最後に次のような問題を2つ提示しました。

(1)関数「under_attack」を再帰呼出で書けるでしょうか。

(2)関数「solve」を再帰呼出を使わずに書けるでしょうか。

そして今回は回答編です。

関数「under_attack」を再帰呼出で書いてみたBOARD_SIZE = 8d

もっとみる
関数「under_attack」解説

関数「under_attack」解説

先の記事『8-Queens Problem』における関数「under_attack」について解説を追記します。

記事『8-Queens Problem』についてはこちら。

関数「under_attack」まず、関数「under_attack」を再掲します。

def under_attack(col, queens): left = right = col for r, c in

もっとみる
【Python】SimplePrograms 18 lines: 8-Queens Problem (recursion)

【Python】SimplePrograms 18 lines: 8-Queens Problem (recursion)

プログラム18行プログラムです。

BOARD_SIZE = 8def under_attack(col, queens): left = right = col for r, c in reversed(queens): left, right = left - 1, right + 1 if c in (left, col, right):

もっとみる
C言語の for ループにみる副作用

C言語の for ループにみる副作用

先日、プログラミングにおける「副作用」について記載しました。

その際、次のようにも申しました。

『実は、C言語の for ループは副作用があると言われています。』

今回はその『C言語の for ループにみる副作用』について記述しようかと思います。

C言語の for 文の例例えば、n の階乗(n!)を求める関数です。

int fact (int n){ int i; int f

もっとみる