ユーザーが関数(「3 * x + 3」など)をタイプし、特定のx
値からY
の値を取得するプログラムを作成したいとします。Pythonでstrリテラルをintリテラルに変更するにはどうすればよいですか?
アイデアは、ユーザーが「3 * X + 3」の後に、プログラムは3 x
を置き換え、この場合、これはコードI 12.
ある、Y
の値を出力することです作った:私はプログラムを実行し、関数を記述する場合
K=raw_input()
x=3
result = int(K)
print (result)
、エラーが表示されます。
ValueError: invalid literal for int() with base 10: '3*x+3'
私は式を入力するときにのみ発生(以前に定義されていても)私は "int()"は数字だけのstrリテラルでのみ動作すると思いますが、数値と変数(もちろん定義されています)を扱う必要があります。
3*x+3
をstr
からint
に変更するには、int()
の代わりに何を使用しますか?
それは文字列に変更するだけではありません...どのようにxを解決する予定ですか?算術演算子のリストを定義し、それらの文字列を配列に分割する必要があります。それから、実際の操作を念頭に置いて操作を進め、実際に操作を実行する必要があります。 – kyle
私はこれがあなたの宿題であると仮定していますが、このユーザーは最近似たようなことを尋ねて、より良い方法で解決策に近づいています。 http://stackoverflow.com/questions/43837842/efficient-algorithm-to-compose-valid-expressions-with-specific-target – kyle