かべぎわブログ

ブログです

Python

Pythonの参照渡しでハマったのでその対処法

概要 Pythonの参照渡しでハマってしまった。 なにがおきたか 以下のようなプログラムがあったとする。 wawawa_array = ['wa1','wa2','wa3'] sasasa_array = wawawa_array sasasa_array[0] = 'sa1' print(wawawa_array) print(sasasa_array) これを実行すると…

Pythonのsys.exit()で途中でスクリプトを終了させる

概要 Pythonでsys.exit()をつかって、スクリプトの途中でプログラムを終了させてみたいと思います。 スクリプト例 まず最初にimport sysをして上げる必要があります。 そのうえでsys.exit()と書いてあげることでそれが実行されたタイミングでスクリプトの途…

Pythonでエラトステネスの篩を実装してみる

概要 Python3でエラトステネスの篩を実装してみたいと思います。 エラトステネスの篩とは? エラトステネスの篩 (エラトステネスのふるい、英: Sieve of Eratosthenes) は、指定された整数以下の全ての素数を発見するための単純なアルゴリズムである。古代ギ…

Pythonで関数の中に関数を宣言してクロージャとしてつかってみる

概要 Pythonでは関数の中に関数を宣言するとそれはクロージャとして動作します。 ためしにやってみます。 スクリプト例 以下のようにouter()という関数の中でinner()という関数を宣言しています。 そしてreturnでinnerの関数そのものを返しています。 def ou…

Pythonで関数の引数に**をつかって複数個の値を辞書形式の引数としてわたす

概要 Pythonの関数の引数のところに**をつかって複数個の値を辞書形式の引数としてわたしてあげて関数を実行してみたいと思います。 スクリプト例 こんなかんじで関数の変数の部分に**変数といったかんじで指定をしてあげる。 def wawawa(**kwargs): print(k…

Pythonで関数の引数に*をつかって複数個の値を引数としてわたす

概要 Pythonの関数の引数のところに*をつかって複数個の値を引数としてわたしてあげて関数を実行してみたいと思います。 スクリプト例 こんなかんじで関数の変数の部分に*変数といったかんじで指定をしてあげる。 def wawawa(*args): print(args) print(args…

Pythonで単語の中のアルファベットの個数を数えてみる

概要 Pythonをつかってある単語の中のアルファベットの個数を数えてみたいと思います。 スクリプト例1 たとえばwasabiという単語に利用されるアルファベットの個数を調べてみます。 こんなかんじでcount()をつかうことでその単語の文字を数えることができま…

Pythonの配列の内包表記を使ってみる

Pythonで配列の内包表記を使ってみようと思います。 1~10の数値の配列をつくる 0~9の数値の配列をつくる 1~10のなかで奇数の数値の配列をつくる 1~10のなかで偶数の数値の配列をつくる 1~10の数値の配列をつくる >>> wawawa_array = [i for i in range(1,11)…

【Python】forのループの中でzip()をつかって複数のシーケンスを並列で処理する

概要 Pythonのforループの中でzip()をつかって複数の配列のシーケンスを並列に回してみたいと思います。 スクリプト例 たとえば以下のようなかんじのスクリプトを書いてみます。 wawawa_arrayとsasasa_arrayという2つの配列があり、それをforループで回して…

【Python】elseをつかってループの途中でbreakしているかどうか判定する

書いている内容自体はどちらもおなじ。 配列の中にある特定の値が含まれているかどうかを判定している。 以下の例だといずれもbreakしていないという文言がprintされる。 このようにelseをつかうことで値が見つかった場合/見つからなかった場合を変数などに…

Pythonで特定の数値の間かどうか判定するif文を書く

概要 Pythonを利用してある特定の数値の範囲の間にあるのかどうかを判定知るif文をかいてみようと思います。 スクリプト例 こんなかんじにすると数値がある特定の範囲の場合だけをifで判定することができる。 if 3 < x < 10: print('wawawa') これは以下とお…

Pythonで辞書形式をつかってみる

辞書形式とは? 辞書をつくる 二次元配列を辞書形式に変換する 辞書に新たなキーを追加する 辞書から指定したキーを削除する 辞書の要素をすべて削除する 辞書のすべてのキーを取得する 辞書のすべての値を取得する 辞書のキーと値すべてを取得する 辞書形式…

Pythonで配列を降順でソートする

概要 Pythonの配列を降順でソートしてみます。 降順でソートする方法 たとえば前提としてこんなかんじの配列があるとする。 wawawa_array = ['BBB','AAA','CCC'] sort(reverse=true)をつかうと降順でソートをすることができる。 >>> wawawa_array.sort(rever…

Pythonで配列の中の要素を確認する3つの方法

Pythonで配列の中に特定の要素がはいているのかや、それが何個入っているのかなどを確認する方法3つをご紹介します。 index()で要素の位置を確認する inで要素が存在するか確認する count()で要素の個数を計算する 前提として以下のような配列があるとする。…

Pythonで配列の要素を削除する方法3つ

delで削除する remove()で削除する pop()で削除する Pythonで配列の要素を削除する方法を3つご紹介します。 delで削除する >>>wawawa_array = ['AAA','BBB','CCC'] >>> del wawawa_array[0] >>> print(wawawa_array) ['BBB','CCC'] remove()で削除する >>> w…

Pythonで2次元配列を使う

概要 Pythonで2次元配列を使ってみようと思います。 コマンド例 こんなかんじで2次元配列を使うことができる。 2次元配列の宣言 wawawa_array = ['AAA','BBB'] sasasa_array = ['CCC','DDD','EEE'] nijigen_array = [wawawa_array,sasasa_array] nijigen_arr…

Pythonでlist()をつかって文字列やタプルを配列に変換する

概要 Pythonのlist()をつかって文字列やタプルを配列に変換してみたいと思います。 文字列を配列に変換 単純にlist()のなかに文字列をつっこんであげるだけ。 wawawa = list('wawawa') するとこんなかんじの配列が出来上がる。 ['w', 'a', 'w', 'a', 'w', 'a…

Pythonの空のリストを作る方法2つ

概要 Pythonで空のリストを作る方法を2つご紹介します。 [] を代入する list_wawawa = [] list() をつかう list_sasasa = list() おわりに 2つあるよ 入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/…

Pythonでの大文字小文字変換いろいろまとめ

Pythonでの大文字小文字変換をご紹介します!!!!!! 小文字を大文字に変換する 大文字を小文字に変換する 先頭文字だけ大文字にする すべての単語の先頭文字を大文字にする 大文字と小文字を逆転させる 小文字を大文字に変換する upper()を利用します。 …

Pythonのfindで特定の文字列がどこにあるか調べる

概要 Pythonを利用して特定の文字列がどこにあるのかどうか調べてみます。 スクリプト例 寿限無をもとに特定の文字列がどこにあるのか調べてみます。 寿限無はこんなかんじ。 こんなかんじで変数jugemに入力されているとする。 jugem = '''寿限無、寿限無 五…

Pythonで文字列を反転させて出力する

概要 Pythonをつかって文字列を反転させて出力させてみます。 たとえるならLinuxコマンドのrevみたいな。 スクリプト例 mojiretsu = 'ABCDEFG' print(mojiretsu[::-1]) 実行するとこんな感じで反転して出力してくれる。 $ ./rev.py GFEDCBA ちょっとした説明…

Pythonで文字列を*で繰り返してみる

概要 知らなかったのでメモ。 Pythonでは文字列を* 3などで繰り返すことができる。 例えばこんなかんじ name = 'wa' * 3 これをprintするとwawawaと出力される。 おわりに すばやくwawawaと出力したいときに便利 Pythonチュートリアル 第3版作者: Guido van …

Pythonで変数に複数行の文字列を代入する

概要 Pythonで変数に複数行の文字列を代入する方法を2種類ご紹介します。 改行コードをつかう 単純に改行コードである\nを文字列の中に入れてあげる。 kaigyou_code = 'かべぎわブログは\nいいぞ' print(kaigyou_code) こんなかんじで出力される かべぎわブ…

Pythonで2進数,8進数,16進数をつかう

10進数 2進数 8進数 16進数 Pythonで2進数と8進数、16進数をつかってみます。 10進数 10進数の場合は普通にそのままでよい。 # 10進数 print(10) # 10が出力される 2進数 2進数の場合は数字の前に0bをつけてあげればよい。 # 2進数 print(0b10) # 2が出力さ…

【Python】divmodで商と剰余を一気に取得する

概要 Pythonをつかって割り算の答えとそのあまりを一気に取得してみます。 divmodをつかいます。 コマンド例 divmod(被除数,除数)です。 以下の例だと10 / 3の結果を変数resultに入れてくれます。 result = divmod(10,3) print(result) 実行してみる 10 /3 =…

Pythonの除算で小数点以下を切り捨てる

概要 Pythonの除算(割り算)で小数点以下を切り捨てた形の整数をつくってみます。 なんだかんだしらなかったのでメモ だいたいこんなかんじ そのまま/で除算を行うと以下のように小数点以下も求められてしまう。 型がfloat型になってしまう。 syousuu = 5 / 2…

Pythonの禅の心に触れる

概要 Pythonの前の心に触れます。 詳しくは以下を実行して心に刻め。 禅の心 $ python Python 2.7.10 (default, Oct 6 2017, 22:29:07) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin Type "help", "copyright", "credits" or "licen…

Pythonでプレミアムフライデーを取得する

概要 Pythonでみなさんご存知のプレミアムフライデーを取得します。 スクリプト 実行してみる 8月の最終金曜日は31日。 31が出力されていることがわかる。 $ date Tue Aug 7 17:24:32 JST 2018 $ ./premium.py 31 入門 Python 3作者: Bill Lubanovic,斎藤康…

Pythonでシャイニングマンデーを取得する

概要 なんかよくわかんないけどシャイニングマンデーなるものがあるのかないのかあるらしくそれを求めるスクリプトを書いてみた。 そもそもシャイニングマンデーとは シャイニングマンデーは、月曜日の午前中を休みにするという制度。日本の広告代理店マンが…

Pythonで約数を取得する

概要 Pythonを利用して自然数の約数を取得してみます。 コード 実行してみる 引数でわたした数字の約数を配列にいれてprintしてくれます。 $ ./yakusuu.py 30 [1, 2, 3, 5, 6, 10, 15] おわりに 数学において、整数 N の約数(やくすう、英: divisor)とは、…