2

C++ では、次のような入力を取得できます。

cin >> a >> b >> c;

そして、aできますintbできますfloat、そして何でもできます... Pythoncで同じことを行うにはどうすればよいですか?

input()そしてraw_input()、私がそれらを使用している方法では、望ましい結果が得られないようです。

4

3 に答える 3

4

通常input()、本番コードでは使用しないでください。と が必要な場合はintfloatこれを試してください。

>>> line = raw_input().split()
>>> a = int(line[0])
>>> b = float(line[1])
>>> c = " ".join(line[2:])

それはすべて、達成しようとしていることによって異なりますが、読みやすさが重要であることを忘れないでください。あいまいなワンライナーはクールに見えるかもしれませんが、保守性に直面して、賢明なものを選択してみてください:)

(PS: でエラーをチェックすることを忘れないでくださいtry: ... except (ValueError, IndexError):)

于 2008-09-17T23:12:21.930 に答える
3

C++ cin は sys.stdin から読み取るため、次のようなことを行うことがよくあります。

import sys
tokens= sys.stdin.read().split()
try:
   a= int(token[0])
   b= float(token[1])
except ValueError, e:
   print e # handle the invalid input
于 2008-09-17T23:35:49.297 に答える
0

何をしているかにもよりますが、getoptモジュールのようなものが役に立つかもしれませんが、それは特定の状況でのみであり、それがあなたの状況に適用されるかどうかはわかりません。

于 2008-09-17T23:12:46.217 に答える