マガジンのカバー画像

Python

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

2022年12月の記事一覧

【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

もっとみる
プログラミングと副作用と

プログラミングと副作用と

はじめにあまりしないことなんですが。
今回は少しだけ。
プログラミングの副作用について語っています。
ですが、私自身、この「プログラミングの副作用」について正確に把握できているのかどうかは心許ない。そのおつもりで読んで頂けると助かります。
もちろん、意見指摘反論など大歓迎です。

前書き ~Pythonのリスト内包表記と副作用と~先日、Pythonのリスト内包表記について紹介しました。

リスト内

もっとみる
Python と C++ の違いについて語ってみる【リスト内包表記】~副作用のないリストの初期化~

Python と C++ の違いについて語ってみる【リスト内包表記】~副作用のないリストの初期化~

リスト内包表記とはなんぞやPython には「リスト内包表記」という書き方があります。
百聞は一見に如かず。
ご覧あれ。

リスト1(Python リスト内包表記)

def test_a(): a = [i for i in range(0, 4)] print(a)

このマーカーの部分ですね。

これは、次のコードと同等です。

リスト2 (Python リスト設定)

def

もっとみる