次のような文字列があるとします: expression = '123 + 321'
.
次のように、文字列を 1 文字ずつ調べていますfor p in expression
。p
を使用して が数字かどうかを確認してp.isdigit()
います。が数字の場合p
、数字全体を取得したいと思います (したがって、最初は であるだけでなく、123
とを取得します)。321
p
1
Pythonでそれを行うにはどうすればよいですか?
C (C のバックグラウンドから来ている) では、同等のものは次のようになります。
int x = 0;
sscanf(p, "%d", &x);
// the full number is now in x
編集:
基本的に、正の整数、+、-、*、/、および括弧「(」および「)」を受け入れるユーザーからの数式を受け入れています。文字列を 1 文字ずつ調べていますが、その文字が数字かどうかを判断できる必要があります。を使用するisdigit()
と、それができます。ただし、数字の場合は、整数を取得する必要があります。どうすればそれができますか?