22
配列を数学の問題に変える
非負の整数の空でないリストが与えられた場合、それを算術問題として書き直すことを検討してください。 プラス記号(+)は、左から右へ(つまり、リストの先頭から末尾へ)増加する数値のペアの間に挿入されます。 マイナス記号(-)は、左から右に向かって減少する数値のペアの間に挿入されます。 乗算記号(*)は、等しい数のペアの間に挿入されます。 別の言い方をすると、サブリストa,bはa+bif a<b、a-bif a>b、およびa*bifになりa==bます。 たとえば、リスト [12, 0, 7, 7, 29, 10, 2, 2, 1] 表現になるだろう 12 - 0 + 7*7 + 29 - 10 - 2*2 - 1 これはに評価され 75ます。 そのようなリストを取り込んで評価し、結果を出力または返すプログラムまたは関数を作成します。 操作の順序が重要です。乗算は、加算または減算の前に実行する必要があります。 入力リストに1つの数値がある場合、それが評価されるものでなければなりません。例えば、[64]与える必要があります64。 evalまたはexec、同様の構成要素の使用が許可されています。 追加の例を次に示します。 [list] expression value [0] 0 0 [1] 1 1 [78557] 78557 78557 …