a = [-1, 2, 3] b = [-3, -2, 3]の配列があった場合、これの要素に条件をつけて計算した上、計算結果を新しい配列に入れたいです。
例えば、a[0]の要素が
a[0] <0 and b[0] >= 0 であれば、c[0] = a[0]+b[0]
a[0] >=0 and b[0] <0 であれば、c[0] = a[0] * b[0]
このように列ごと条件付きで計算して、cの配列に入れたいです。
以下のようなやり方で処理しましたが、より効率より書き方があれば、教えてください。
def makedeg(x, y): result = [0,0,0,0,0] for i in range(5): if x[i] < 0 and y[i] >= 0: result[i] = x[i] + y[i] elif x[i] >= 0 and y[i] >= 0: result[i] = x[i] * y[i] elif x[i] >= 0 and y[i] <0: result[i] = x[i]/y[i] else: result[i] = x[i]-y[y] return result
よろしくお願いします。
現時点でのコードを質問に追記していただけませんか。
そのエラーはどの行で出たのでしょうか。
paizaではエラー出ませんでした。
https://ddjkaamml8q8x.cloudfront.net/questions/2022-05-13/962c0f50-a0f6-464b-90bb-ce12ee1d1331.png
vscodeを使ってますが、関数を実行した行がエラーになっています。
>関数を実行した行がエラー
この部分のコードはどうなっているのでしょうか。
すみません。function' object is not subscriptableは、解決しました。
入力値に誤謬があったみたいです。
そして、ソースも修正しましたが、一応、想定した通り、動いています。
やはり、パイソンでも、こういったクラシックなやり方でしか方法がないのでしょうか。
回答1件
あなたの回答
tips
プレビュー