如何在lambda表单中创建函数通过输入接受映射规则而不是在函数中明确声明它?lambda函数不接受通过输入映射规则(Python)
这是我的代码,我试图创建一个数字集成的程序。
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整合的最佳方案,我建立这个的原因是为了锻炼我的编程技能,同时制作我仍然可以理论上使用的程序。