2016-10-17 5 views
0

プログラムに整数を変換する前に入力を計算させることができるかどうかは疑問でした。例えば 私のコード私がすべきその後、理論等しい16でただし生の入力は、この現象が発生することができない文字列であるように、入力4 ** 2にした場合プログラムが入力を計算するように強制する

shift=int(raw_input("input the shift you want ")) 

です。 計算を入力した後にプログラムが整数に変換してエラーを引き起こすのではなく、入力の意味を計算するようプログラムに指示があったかどうかを知りたいと思います。

答えて

4

あなたはひどく危険なことを気にしない場合は、入力として単一の文字列引数を受け入れ、Pythonコードとして実行され、evalを使用することができます。

shift = eval(raw_input("input the shift you want ")) 

And here is an explanation of why you shouldn't do this in any kind of production code

より良い選択肢は、電卓のように振舞う適切なパーサーを実際に構築することです。 SOやその他の場所では、この浮動小数点のための多くのリソースがあります。

+0

ありがとうございます – thestarchyninja

関連する問題