ラムダ形式の関数を関数で明示的に記述するのではなく、入力によるマッピング規則を受け入れる方法を教えてください。ラムダ関数は入力(Python)によるマッピング規則を受け付けません
ここに私のコードです、私はnummerical統合のためのプログラムを作成しようとしています。
while True:
fx=input("Enter a function: ")
a=int(input("Choose lower integration limit: "))
b=int(input("Choose upper integration limit: "))
delta=float(input("Choose delta x: "))
step=int(1/delta)
interval=list(range((a*step),(b*step)))
f= lambda x: (x**2)*delta
Now I want to substitute this part
(x**2)
for an arbitray polynomial via the inputfx
result=map(f,interval)
print(sum(list(result))*(delta**2))
continue
私はfx
ため(x**2)
を代入しようとした場合には、このエラーを生成します:
Traceback (most recent call last):
File "C:\Users\Christian\Desktop\Python-Programme\Nummerische Integration.py", line 13, in <module>
print(sum(list(result))*(delta**2))
File "C:\Users\Christian\Desktop\Python-Programme\Nummerische Integration.py", line 11, in <lambda>
f= lambda x: fx*delta
TypeError: can't multiply sequence by non-int of type 'float'
*私はこれはおそらくnummerical統合のための最適なプログラムではないことを十分に承知しています、私が理論的に使うことができるプログラムを作っている間、これを構築するのは私のプログラミングスキルを発揮することにすぎないのです。