Pythonで大きな数を加算・減算する方法
Pythonでは、パフォーマンスを気にすることなく、非常に大きな数同士の加算や減算を直接行うことができます。Pythonには「bignum(多倍長整数)」と呼ばれる整数型が用意されており、桁数に実質的な制限のない、任意の大きさの整数を扱うことができます。
Python 2.5以降では、この型は「long」という名前でint型とは区別されていますが、インタプリタが必要に応じて自動的に適切な型を選択してくれます。そのため、バージョン2.5以上の環境であれば、通常どおり算術演算を記述するだけで、32ビット演算の上限を超えた数値は自動的に(そして透過的に)bignumへと変換されます。
なお、Python 3ではint型とlong型が統合されており、int型が最初から任意精度の整数をサポートしています。そのため、特別な宣言を行わなくても、大きな数をそのまま扱うことができます。
サンプルコード
a = 182841384165841685416854134135 b = 135481653441354138548413384135 print(a - b)
出力結果
上記のコードを実行すると、次のような結果が出力されます。
47359730724487546868440750000
-
【Python入門】正規表現でテキストから数値を抽出する方法をわかりやすく解説
Pythonでテキスト処理を行う際、「文章の中から数字だけを取り出したい」という場面は非常によくあります。そんなときに活躍するのが、標準ライブラリの re モジュールと正規表現です。この記事では、目的別に使える抽出パターンをサンプルコード付きで解説します。 数字を1文字ずつ個別に抽出する テキスト内のすべての数字を1桁ずつバラバラに抽出したい場合は、正規表現パターン \d を使用します。\d は「半角数字1文字」にマッチするメタ文字です。 サンプルコード import re s = 12345 abcdf 67 result = re.findall(r\d, s) print(result
-
【Python入門】try-exceptでValueErrorを捕捉(キャッチ)する方法
ValueErrorは、関数が「型は正しいが値が無効」な引数を受け取ったときに発生する例外です。代表的な例としては、int()関数に数値へ変換できない文字列を渡したケースが挙げられます。 こうした例外は、try-except構文を使うことで安全に捕捉(キャッチ)でき、プログラムが異常終了するのを防ぐことができます。以下のコードは、例外を捕捉して、その内容と型を確認する例です。 コード例 import sys try: n = int(magnolia) # 数値に変換できない文字列 except Exception as e: print(e) #